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常用來判斷測試通過還是失敗