摘要:筆記測試腳本默認(rèn)加載目錄下的,也可以通過參數(shù)指定需要運(yùn)行的測試文件,如運(yùn)行目錄下的。的測試腳本表示一個(gè)測試套件表示一個(gè)測試用例上面使用的是的斷言庫,也可以安裝其他斷言庫,如參數(shù)允許在目錄下通過文件,進(jìn)行參數(shù)配置。
Mocha筆記 測試腳本
mocha默認(rèn)加載test目錄下的test.js,也可以通過參數(shù)指定需要運(yùn)行的測試文件,如運(yùn)行test目錄下的test.math.js。
mocha test/test.math.js
mocha的測試腳本
describe("test of math", function () { it("should return 2 when 1 + 1", function () { assert.equal(math.add(1, 1), 2); }); });
describe: 表示一個(gè)測試套件
it: 表示一個(gè)測試用例
上面使用的是nodejs的assert斷言庫,也可以安裝其他斷言庫,如
should.js
expect.js
chai - expect()
better-assert
unexpected
mocha參數(shù)mocha允許在test目錄下通過mocha.opts文件,進(jìn)行參數(shù)配置。
mocha.opts
--timeout 5000 --reporter mochawesome測試報(bào)表
控制臺顯示的測試結(jié)果:
test of math ? should return 2 when 1 + 1 ? use expect assertion: should return 2 when 1 + 1 ? asyncAdd, should return 2 when 1 + 1 (2004ms) - a pending test 3 passing (2s) 1 pending
--reporter參數(shù)可以配置使用的測試報(bào)表名稱,如spec, dot, nyan, mochawesome
mochawesome需要安裝
npm install --save-dev mochawesome
報(bào)表生成在mochawesome-report目錄下,為html文件。
代碼覆蓋率測試Istanbul
npm install --save-dev nyc
在mocha命令前增加nyc
nyc mocha test/test.math.js
運(yùn)行改命令后:
----------|----------|----------|----------|----------|-------------------| File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s | ----------|----------|----------|----------|----------|-------------------| All files | 100 | 100 | 100 | 100 | | math.js | 100 | 100 | 100 | 100 | | ----------|----------|----------|----------|----------|-------------------|
如需要生成代碼覆蓋率的報(bào)告,可以修改命令為:
nyc --reporter=html mocha test/test.math.js
運(yùn)行命令后,覆蓋率報(bào)表會生成在coverage目錄下。
test.math.jsvar assert = require("assert"); var expect = require("expect.js"); var Math = require("../math"); var math; describe("test of math", function () { //hooks before(function () { // runs before all tests in this block math = new Math(); }); after(function () { // runs after all tests in this block }); beforeEach(function () { // runs before each test in this block }); afterEach(function () { // runs after each test in this block }); it("should return 2 when 1 + 1", function () { assert.equal(math.add(1, 1), 2); }); it("should return 1 when 1 * 1", function () { assert.equal(math.mutiply(1, 1), 1); }); it("should return max value 9 of [1,3,6,9,0]", function () { assert.equal(math.max([1, 3, 6, 9, 0]), 9); }); it("should return 2 when 1 + 1", function () { assert.equal(math.add(1, 1), 2); }); it("use expect assertion: should return 2 when 1 + 1", function () { expect(math.add(1, 1)).to.be(2); }); it("asyncAdd, should return 2 when 1 + 1", function (done) { math.asyncAdd(1, 1).then(function (result) { assert.equal(result, 2); done(); }, function (err) { assert.fail(err); done(); }); }); it("a pending test"); });
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/8810.html
背景 學(xué)習(xí)MongoDB,并做筆記整理,以便于用到時(shí)查看。 MogoDB NoSQL Database(JS) 使用方便,想存就存,相取就取 是MEAN中的M(數(shù)據(jù)) 安裝 https://www.mongodb.com/downl... 選擇相應(yīng)系統(tǒng)安裝包 安裝mongoose 創(chuàng)建一個(gè)文件夾,并npm init --yes,創(chuàng)建package.js npm install mongoos...
摘要:基礎(chǔ)知識作用為提供瀏覽器測試環(huán)境,為真正測試框架,為斷言庫測試用例基礎(chǔ)塊稱為測試套件,表示一組相關(guān)的測試。它也是一個(gè)函數(shù),第一個(gè)參數(shù)是測試用例的名稱,第二個(gè)參數(shù)是一個(gè)實(shí)際執(zhí)行的函數(shù)。 基礎(chǔ)知識 karma作用為提供瀏覽器測試環(huán)境,mocha為真正測試框架,chai為斷言庫 測試用例基礎(chǔ) describe塊稱為測試套件(test suite),表示一組相關(guān)的測試。它是一個(gè)函數(shù),第一個(gè)...
摘要:起博主是電信行業(yè)的碼農(nóng),在工作單位也搞搞單元測試和了什么。目前對技術(shù)很感興趣,嘗試新的領(lǐng)域里面也試試看這次要用的方式要實(shí)現(xiàn)一個(gè)簡單畫圖板功能,支持和。配置文件里面主要就是一個(gè)對象,根據(jù)注釋提示調(diào)整下即可。 起 博主是電信行業(yè)的碼農(nóng),在工作單位也搞搞單元測試和TDD了什么。目前對Web技術(shù)很感興趣,嘗試新的領(lǐng)域里面也試試看TDD. 這次要用TDD的方式要實(shí)現(xiàn)一個(gè)簡單畫圖板功能,支持C...
摘要:抹茶是一款測試框架,支持在和瀏覽器端運(yùn)行。只要程序拋出一個(gè)錯(cuò)誤,就會認(rèn)為測試不通過。使用內(nèi)置的斷言庫斷言拋出一個(gè)如果參數(shù)是一個(gè)則會拋出這個(gè)。并且根據(jù)的狀態(tài)來決定測試是否通過。 這篇文章百分之99都是照著mocha官網(wǎng)的內(nèi)容來寫的。就是個(gè)掃盲文,如果你想獲得關(guān)于mocha更深層次不為人知的內(nèi)容,還是別浪費(fèi)你寶貴的十幾分鐘了,馬上叉掉。不為啥的,我就做個(gè)筆記,方便以后復(fù)習(xí)。 mocha(抹...
閱讀 2577·2021-09-26 10:13
閱讀 5984·2021-09-08 10:46
閱讀 692·2019-08-30 15:53
閱讀 2966·2019-08-29 16:13
閱讀 2761·2019-08-26 12:23
閱讀 3485·2019-08-26 11:24
閱讀 1093·2019-08-23 18:09
閱讀 1032·2019-08-23 17:08