什么是TDD:
TDD:Test driven devlement,測試驅(qū)動(dòng)開發(fā),是敏捷開發(fā)中的一項(xiàng)核心實(shí)踐和技術(shù),也是一種設(shè)計(jì)方法論。TDD的原理是在開發(fā)功能代碼之前,先編寫單元測試用例代碼,測試代碼確定需要編寫什么產(chǎn)品代碼。
什么是mocha:
mocha是JavaScript的一種單元測試框架,既可以在瀏覽器環(huán)境下運(yùn)行,也可以在Node.js環(huán)境下運(yùn)行。
安裝mocha:
1.創(chuàng)建一個(gè)工程。
2.運(yùn)行:
#初始化
npm init
#安裝mocha
npm i mocha chai -D
此時(shí)目錄結(jié)構(gòu)為:
編寫業(yè)務(wù)代碼:
編寫math.js用于模擬業(yè)務(wù)代碼
function add(x,y){
return x+y;
}
function multiply (x,y){
return x*y;
}
module.exports={
add,multiply
}
編寫測試代碼:
//導(dǎo)入剛剛寫的math.js
var math=require("../math");
//導(dǎo)入斷言
var assert= require("assert");
// 描述測試文件
describe('測試math.js',function(){
// 描述測試的方法
describe('測試方法add',function(){
// mocha提供了it方法,稱為測試用例,表示一個(gè)單獨(dú)的測試
// 我們可以寫某個(gè)方法的多個(gè)測試用例來測試不同情況下的狀況
// 測試10+1;
it('10+1',function(){
// 斷言10+1=11
assert.equal(math.add(10,1),11);
});
// 測試不通過
// 測試10+2;斷言10+2=9
it("10+2",function(){
assert.equal(math.add(10,2),9)
})
});
describe("測試方法multiply",function(){
// 測試5*2
it('5-2',function(){
// 斷言5*2=10
assert.equal(math.multiply(5,2),10);
})
});
})
配置package.json:
直接使用mocha測試顯示在終端
"scripts": {
"test": "mocha"
}
運(yùn)行測試:
npm test
結(jié)果:
推薦好課:
Vue.js三天學(xué)習(xí)實(shí)戰(zhàn)教程
JavaScript實(shí)戰(zhàn):動(dòng)態(tài)網(wǎng)站開發(fā)
Javascript移動(dòng)端App實(shí)戰(zhàn)開發(fā)