主要的點在於當 it()
函數的回調函數帶有done參數,mocha會等到回調函數裏面出 done
或者或者超時才完成一條測試。同時因爲每個測試用例最多執行2000毫秒,所以要面對需要很長時間的測試,需要通過設置 -t
來修改最長時間(暫時沒有更好的方法)
it('option is empty', function(done) {
...
done()//結束一條測試
});
例子
describe('runBash', function() {
it('option is Sync', function(done) {
var instructionList = ['echo "one"', 'echo "two"'];
var option = {
webRoot: '../fake-natoo'
};
co(function*(done) {
var errCode = yield runBash(instructionList, option);
expect(errCode).to.be.equal(null);
done();//完成測試
}.call(this, done));//傳入done
});
});
ps
Mocha默認每個測試用例最多執行2000毫秒(可以通過-t來調整)
Mocha默認會高亮顯示超過75毫秒的測試用例(可以通過-s來調整)
<<測試框架 Mocha 實例教程>>(阮一峯)