之前大學學習軟件測試的時候又官,聽過單元測試這個說法,但是一直比較抽象镣隶,沒有具體的實踐過极谊,剛好今天學習阮一峰老師的mock教程诡右,所以做一個筆記記錄一下。
什么是單元測試轻猖?
我對單元測試的理解是對每一個方法或者模塊進行測試(不一定對)帆吻,而mocha是一個可以對我們編寫的代碼中定義的方法進行測試。
如何使用mocha
在使用mocha之前蜕依,你需要先了解斷言這個概念桅锄。斷言是判斷實際值與預期值是否相等的工具。斷言有assert样眠、expect、should三種風格翠肘,或者稱為三種寫法檐束。Chai.js是一個很流行的斷言庫,同時支持上面三種風格束倍。我們在使用mocha的時候被丧,也需要導入我們選用的斷言。下面以chai.js斷言庫為例演示一下如何使用mocha進行單元測試:
- 下載mock.js,chai.js
npm install -g mock chai //全局安裝
npm install mocha chai //項目內安裝
- 編寫測試代碼
我們在項目中新建一個add.js的文件绪妹,代碼如下:
function add(a,b) {
if(parseInt(a)&&parseInt(b)){
return a+b;
}else{
console.log("輸入的參數(shù)有誤");
}
}
新建一個add.test.js文件甥桂,代碼如下:
var expect = require('chai').expect;
var add = require('../app');
describe('測試add函數(shù)', function () {
it('1加1應該等于2', function () {
expect(add(1, 1)).to.equal(2);
});
});
打開命令行,輸入$ mocha add.test.js
就可以開始測試了邮旷,執(zhí)行后將結果輸出:
[測試add函數(shù)]
成功 1加1應該等于2
更多配置
基本的教程就是這些黄选,除了這些最基本的功能外,還有很多高級用法大家可以到阮老師的博客上去觀看婶肩。