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