node面試(二)

1、用什麼工具保證一致的代碼風格?爲什麼要這樣?

  • 團隊協作時,保證一致的代碼風格是非常重要的,這樣團隊成員纔可以更快地修改代碼,而不需要每次去適應新的風格。這些工具可以幫助我們:
  • [ESLint] (http://eslint.org/)
  • [Standard] (https://standardjs.com/)
  • JSLint
  • JSHint
  • ESLint
  • JSCS推薦

2、什麼是stub?舉例說明

  • stub用於模塊的行爲。測試時,stub可以爲函數調用返回模擬的結果。比如說,我們寫文件時,實際上並不需要真正去寫

    var fs = require('fs');
          var writeFileStub = sinon.stub(fs, 'writeFile', function(path, data, cb)
    
          {
    
              return cb(null);
    
          });
    
          expect(writeFileStub).to.be.called;
    
          writeFileStub.restore();

    3、運算錯誤與程序員錯誤的區別

  • 運算錯誤並不是bug,這是和系統相關的問題,例如請求超時或者硬件故障。而程序員錯誤就是所謂的bug

 

 

  4、使用NPM有哪些好處?

 

  5、什麼是stub?舉個使用場景

  • 通過NPM,你可以安裝和管理項目的依賴,並且能夠指明依賴項的具體版本號。對於Node應用開發而言,你可以通過package.json文件來管理項目信息,配置腳本,以及指明依賴的具體版本
  • stub是用於模擬一個組件或模塊的函數或程序。在測試用例中,簡單的說,你可以用stub去模擬一個方法,從而避免調用真實的方法,使用stub你還可以返回虛構的結果。你可以配合斷言使用stub。
  • 舉個例子,在一個讀取文件的場景中,當你不想讀取一個真正的文件時:

      var fs = require('fs'); var readFileStub = sinon.stub(fs, 'readFile', function (path, cb) { return cb(null, 'filecontent'); }); expect(readFileStub).to.be.called; readFileStub.restore(); 
  • 在單元測試中:Stub是完全模擬一個外部依賴,而Mock常用來判斷測試通過還是失敗

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章