摘要:筆記測試腳本默認加載目錄下的,也可以通過參數指定需要運行的測試文件,如運行目錄下的。的測試腳本表示一個測試套件表示一個測試用例上面使用的是的斷言庫,也可以安裝其他斷言庫,如參數允許在目錄下通過文件,進行參數配置。
Mocha筆記 測試腳本
mocha默認加載test目錄下的test.js,也可以通過參數指定需要運行的測試文件,如運行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: 表示一個測試套件
it: 表示一個測試用例
上面使用的是nodejs的assert斷言庫,也可以安裝其他斷言庫,如
should.js
expect.js
chai - expect()
better-assert
unexpected
mocha參數mocha允許在test目錄下通過mocha.opts文件,進行參數配置。
mocha.opts
--timeout 5000 --reporter mochawesome測試報表
控制臺顯示的測試結果:
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參數可以配置使用的測試報表名稱,如spec, dot, nyan, mochawesome
mochawesome需要安裝
npm install --save-dev mochawesome
報表生成在mochawesome-report目錄下,為html文件。
代碼覆蓋率測試Istanbul
npm install --save-dev nyc
在mocha命令前增加nyc
nyc mocha test/test.math.js
運行改命令后:
----------|----------|----------|----------|----------|-------------------| File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s | ----------|----------|----------|----------|----------|-------------------| All files | 100 | 100 | 100 | 100 | | math.js | 100 | 100 | 100 | 100 | | ----------|----------|----------|----------|----------|-------------------|
如需要生成代碼覆蓋率的報告,可以修改命令為:
nyc --reporter=html mocha test/test.math.js
運行命令后,覆蓋率報表會生成在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"); });
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107845.html
摘要:筆記測試腳本默認加載目錄下的,也可以通過參數指定需要運行的測試文件,如運行目錄下的。的測試腳本表示一個測試套件表示一個測試用例上面使用的是的斷言庫,也可以安裝其他斷言庫,如參數允許在目錄下通過文件,進行參數配置。 Mocha筆記 測試腳本 mocha默認加載test目錄下的test.js,也可以通過參數指定需要運行的測試文件,如運行test目錄下的test.math.js。 mocha...
背景 學習MongoDB,并做筆記整理,以便于用到時查看。 MogoDB NoSQL Database(JS) 使用方便,想存就存,相取就取 是MEAN中的M(數據) 安裝 https://www.mongodb.com/downl... 選擇相應系統安裝包 安裝mongoose 創建一個文件夾,并npm init --yes,創建package.js npm install mongoos...
摘要:基礎知識作用為提供瀏覽器測試環境,為真正測試框架,為斷言庫測試用例基礎塊稱為測試套件,表示一組相關的測試。它也是一個函數,第一個參數是測試用例的名稱,第二個參數是一個實際執行的函數。 基礎知識 karma作用為提供瀏覽器測試環境,mocha為真正測試框架,chai為斷言庫 測試用例基礎 describe塊稱為測試套件(test suite),表示一組相關的測試。它是一個函數,第一個...
摘要:起博主是電信行業的碼農,在工作單位也搞搞單元測試和了什么。目前對技術很感興趣,嘗試新的領域里面也試試看這次要用的方式要實現一個簡單畫圖板功能,支持和。配置文件里面主要就是一個對象,根據注釋提示調整下即可。 起 博主是電信行業的碼農,在工作單位也搞搞單元測試和TDD了什么。目前對Web技術很感興趣,嘗試新的領域里面也試試看TDD. 這次要用TDD的方式要實現一個簡單畫圖板功能,支持C...
摘要:抹茶是一款測試框架,支持在和瀏覽器端運行。只要程序拋出一個錯誤,就會認為測試不通過。使用內置的斷言庫斷言拋出一個如果參數是一個則會拋出這個。并且根據的狀態來決定測試是否通過。 這篇文章百分之99都是照著mocha官網的內容來寫的。就是個掃盲文,如果你想獲得關于mocha更深層次不為人知的內容,還是別浪費你寶貴的十幾分鐘了,馬上叉掉。不為啥的,我就做個筆記,方便以后復習。 mocha(抹...
閱讀 2111·2021-11-24 10:28
閱讀 1117·2021-10-12 10:12
閱讀 3337·2021-09-22 15:21
閱讀 679·2021-08-30 09:44
閱讀 1895·2021-07-23 11:20
閱讀 1148·2019-08-30 15:56
閱讀 1751·2019-08-30 15:44
閱讀 1483·2019-08-30 13:55