测试框架mocha简易教程
測(cè)試框架mocha簡(jiǎn)易教程
mocha 是 JavaScript 的一個(gè)單元測(cè)試框架,既可以在瀏覽器環(huán)境中運(yùn)行,也可以在 node.js 環(huán)境下運(yùn)行。我們只需要編寫測(cè)試用例,mocha 會(huì)將測(cè)試自動(dòng)運(yùn)行并給出測(cè)試結(jié)果。
1.安裝
安裝 nodejs
參考資料:https://www.jianshu.com/p/13f45e24b1de
安裝 npm 模塊
參考資料:http://caibaojian.com/npm/all.html
在安裝完成 nodejs 與 npm 之后,接著安裝 mocha 模塊:
$ install --global mocha # 在全局環(huán)境下安裝mocha
實(shí)際上可以不在全局環(huán)境下安裝 mocha ,但為了方便后期單元測(cè)試,全局環(huán)境會(huì)比較方便。
以下均以測(cè)試 add.js 文件作為例子說(shuō)明
//add.js
function add(x, y) {
return x + y;
}
2.搭建項(xiàng)目目錄
為了方便管理測(cè)試文件,簡(jiǎn)單的搭建一個(gè)項(xiàng)目目錄結(jié)構(gòu)。簡(jiǎn)單來(lái)說(shuō),就是把測(cè)試文件和待測(cè)試文件分門別類一下,然后把測(cè)試文件統(tǒng)一命名為 ’ 測(cè)試文件名 ‘.test.js ,有利于后期測(cè)試人員的測(cè)試操作。其項(xiàng)目目錄如下:
+- scr file
-- add.js
+- test file
-- add.test.js
-- package.json
3.測(cè)試腳本編寫
//add.test.js
var add = require("../src/add"); // 引入 add 模塊 注意路徑為相對(duì)路徑
var assert = require("assert"); // 引入內(nèi)置的 assert 模塊
describe("add函數(shù)的測(cè)試", function() {
it("1加1等于2", function(){
assert.equal(2, add(1, 1));//使用 assert 模塊中的 equal() 進(jìn)行測(cè)試,也可使用其他函數(shù)
});
});
測(cè)試腳本說(shuō)明:
測(cè)試腳本可以包括一個(gè)或多個(gè)describe塊,每個(gè)describe塊可以包括一個(gè)或多個(gè)it塊。
describe塊稱為"測(cè)試套件"(test suite),表示一組相關(guān)的測(cè)試。它是一個(gè)函數(shù),第一個(gè)參數(shù)是測(cè)試套件的名稱("add函數(shù)的測(cè)試"),第二個(gè)參數(shù)是一個(gè)實(shí)際執(zhí)行的函數(shù)。describe是可以任意嵌套的。
it塊稱為"測(cè)試用例"(test case),表示一個(gè)單獨(dú)的測(cè)試,是測(cè)試的最小單位。它也是一個(gè)函數(shù),第一個(gè)參數(shù)是測(cè)試用例的名稱("1 add 1 應(yīng)該等于 2"),第二個(gè)參數(shù)是一個(gè)實(shí)際執(zhí)行的函數(shù)。
我們可以同時(shí)編寫多個(gè)測(cè)試來(lái)測(cè)試不同的數(shù)據(jù)輸入,并使用 assert判斷輸出是否和我們預(yù)期結(jié)果相等。
4.測(cè)試腳本的運(yùn)行
使用命令 mocha add.test.js 就可以得到測(cè)試腳本的測(cè)試效果了,如下:
$ mocha add.test.js
add函數(shù)的測(cè)試
? 1 add 1 應(yīng)該等于 2
1 passing (8ms)
運(yùn)行結(jié)果說(shuō)明:該測(cè)試腳本通過(guò)測(cè)試,共一個(gè)測(cè)試用例通過(guò),使用 8ms。
當(dāng)然你也可以一次性測(cè)試多個(gè)測(cè)試腳本,即在 mocha f1.test.js f2.test.js ... mocha 模塊會(huì)自動(dòng)運(yùn)行該目錄下的測(cè)試腳本,這也是為什么要把測(cè)試腳本放在同一個(gè)文件夾下的原因之一。
我們還可以生成 html 和 json 文件,提高測(cè)試結(jié)果的可讀性。
$ npm install --save-dev mochawesome
$ mocha add.test.js --reporter mochawesome
如下圖(圖片轉(zhuǎn)載于 http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html):
5.補(bǔ)充說(shuō)明
mocha 的功能不僅僅止步于上述所說(shuō)的簡(jiǎn)單功能,他其實(shí)還可以使異步測(cè)試變得簡(jiǎn)單有趣。Mocha測(cè)試連續(xù)運(yùn)行,允許靈活和準(zhǔn)確的報(bào)告,同時(shí)將未捕獲的異常映射到正確的測(cè)試用例。
具體可參考 mocha 中文文檔:https://mochajs.cn/
總結(jié)
以上是生活随笔為你收集整理的测试框架mocha简易教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 伊莱克斯咖啡壶(伊莱克斯电热咖啡壶怎么用
- 下一篇: 关于漫游 (二三层漫游)