mocha單元測試簡易教程
寫在前面
其實mocha單元測試的教程網上有很多,也都很簡單易懂,但是每個人對同一份的教程也會產生不同的理解,像我這種大概就是走遍了所有彎路才到達終點的人,想通過給大家分享一下自己的實踐過程,希望有人能從我這得到收獲
教程參考
安裝
以下安裝文件大小都在10-20M之間,您可以快速的完成安裝過程
- Node.js
因為mocha安裝依賴Node,所以在下載mocha前先在官網下載Node.js,Node下載安裝幾乎是一路傻瓜next,如想確保安裝的正確性,請參考nodejs詳細安裝步驟 。 - mocha
mocha安裝請到測試框架 Mocha 實例教程,這里面提供了幾個demo,可以確保您在一步步測試樣例中熟悉mocha單元測試步驟
單元測試
- 在單元測試前我們需要:一個js文件和一個test.js文件。
js文件中存放您需要測試的函數,test.js存放您對js文件的測試。這里使用上面講到的demo中的一個做樣例講解。
假設要實現如下下加法運算,您可以將函數存在add.js中
function add(x, y) {
return x + y;
}
進行單元測試前需在函數尾部加module.exports = add;將需要測試的函數暴露出去,前面的"use strict";是標准設置
"use strict";
function add(x, y) {
return x + y;
}
module.exports = add;
然后創建add.test.js文件,這個文件可以跟js文件放在一個目錄下,也可以在js文件所在目錄再創建一個test文件夾,將add.test.js存放在test文件夾中。兩種形式最后都是在js所在目錄下運行mocha。
以下為add.test.js中的簡易測試內容,其中describe的第一個參數是對測試的描述,it中的第一個參數是對測試結果的描述
/*以下為固定格式,其中require中內容及變量按照您要測試的函數命名*/
"use strict";
var add = require('./add.js');//根據函數名命名參數
var expect = require('chai').expect;//固定參數
/*以下為測試段*/
describe('加法函數的測試', function() {
it('1 加 1 應該等於 2', function() {
expect(add(1, 1)).to.be.equal(2);
});
});
- 進行單元測試
打開cmd窗口,進入add.js所在目錄
輸入
npm install mocha -g
npm install --save-dev chai
第二條尤其注意,您可能在前面已經安裝了全局chai如下,但是要進行mocha單元測試需要在js所在目錄下安裝局部chai,否則會報錯Error: Cannot find module 'chai'
npm install chai -g
接下來就是還有一個注意點,如果您將js和test.js文件放在一個目錄下,test.js的require書寫如下
var add = require('./add.js');//根據函數名命名參數
就在cmd輸入mocha add.test.js如下進行單元測試
如果是將test.js文件放入test文件夾中,test.js的require書寫如下,區別在於add.js前面"."的個數
var add = require('../add.js');//根據函數名命名參數
cmd直接輸入mocha運行如下
單元測試完成