配置 WebStorm
-
為了讓 WebStorm 識別 Mocha / Should 關(guān)鍵字,需配置
- 打開 File - Settings - Languages&Frameworks - JavaScript - Libraries - Download
-
選擇下載 mocha 和 should
mocha1.png
-
- 打開 File - Settings - Languages&Frameworks - JavaScript - Libraries - Download
-
為了能運行 mocha 腳本,需配置 Run/Debug Configurations
- 點擊添加按鈕,添加新的配置: Mocha
-
選擇 Node interpreter / Mocha package / 選擇要運行的測試文件 / 文件夾 / 測試套件 / 測試用例
mocha2.png
mocha3.png
測試代碼
- 需測試的代碼 add.js
function add(a, b) {
return a + b;
}
module.exports = add;
- 測試代碼 add.test.js
- describe() 函數(shù)是測試描述,表示一組相關(guān)測試用例對某個模塊的測試
- it() 是一個測試用例,在一個 describe 塊的內(nèi)部可以執(zhí)行多個測試用例 (it 塊)
- done 用于異步測試。在 Node 環(huán)境中,絕大部分的業(yè)務(wù)邏輯都是異步的,Mocha 提供了一個回調(diào)函數(shù) done, 在業(yè)務(wù)代碼執(zhí)行完畢之后調(diào)用 done() 結(jié)束測試用例,不然的話測試用例就會出現(xiàn) timeout 的情況導(dǎo)致測試用例失敗。Mocha 默認的超時時間為 2000 ms, 如果由于測試用例的執(zhí)行時間比較長需要延長超時時間,可加參數(shù) -t , 如 mocha -t 3000 add.test.js
- 可使用參數(shù) -w 用來監(jiān)視指定的測試腳本,只要測試腳本有變化,就會自動運行 Mocha
describe('test add', function () {
it('1 + 1 should be equal to 2', function (done) {
(add(1,1) === 2).should.be.true();
done();
});
it('1 + 2 should not be equal to 2', function (done) {
(add(1,2) === 2).should.be.true();
done();
});
});
- 點擊試用 mocha 運行
-
其中一個用例運行成功,一個用例運行失敗
mocha4.png
-



