您好,登錄后才能下訂單哦!
當(dāng)我們編寫比較復(fù)雜的項目時,需要對項目的測試用例進(jìn)行長期跟蹤,對單元模塊進(jìn)行質(zhì)量控制,對開發(fā)成果進(jìn)行自我檢驗,那么需要一個好用的工具,自學(xué)了一下mocha,這個筆記幾乎是照搬官網(wǎng)的英文版進(jìn)行了自我的一番理解的初步呈現(xiàn),多以條目為主,還沒有時間進(jìn)一步實踐,通過強(qiáng)制寫筆記的方式,鞭策自己加深理解,學(xué)會分享,提高學(xué)習(xí)力,我在努力。
npm install --global mocha
npm install --save-dev mocha
Mocha v3.0.0 需要npm v2.14.2+
v3.0.0之后,不再依賴字符串匹配來決定執(zhí)行哪些測試。
.only()可以多次使用來定義要運(yùn)行的測試子集。
可以支持before, after, beforeEach, afterEach
mocha會運(yùn)行test目錄下所有測試,目錄名不能修改。
如果要包含子目錄用--recursive
使用npm init命令生成package.json
it("name", function(){…})
一次只測一種情況,測試代碼要非常簡單cd mocha
describe.only("#indexOf()", function(){});
descrip.skip("#indexOf()", function(){});
before(function(){
if(/* check test environment */) {
//setup code
} else {
this.skip();
}
});
err.actual err.expected 斷言成功失敗視圖
var testCase = require('mocha').describe;//可以用更直觀的變量名稱
當(dāng)調(diào)用this.retries(x)時,會重新調(diào)用beforeEach及afterEach方法
this.slow(10000);
this.timeout(500);
套件級
describe片段
測試級
it片段
鉤子級
beforeEach中
BDD,TDD,Exports,QUnit,Require
BDD接口比較常用,之前的例子都是BDD。
TDD接口是類似JUnit的調(diào)用方式。
QUNIT扁平化的樣子類似于TDD,但也支持before,after,beforeEach,afterEach
Wallaby.js
mocha摩卡側(cè)邊欄
spec報告器:可以輸出嵌套的分層視圖
點陣報告器:是最小化的輸出,可以用一系列字符代表測試用例,失敗是紅色嘆號,待定是藍(lán)色逗號,慢速是×××顯示
NYAN報告器:有一只貓做進(jìn)度條,這個莫名其妙
TAP報告器:顯示每行單元測試明細(xì)
LANDING STRIP 報告器:飛機(jī)降落的跑道
LIST報告器:明細(xì)列表
PROGRESS進(jìn)展報告器:進(jìn)度條
MIN報告器:僅顯示摘要
DOC報告器:以html格式正文輸出
mocha.setup({
ui:'tdd',
ignoreLeaks: true,
asyncOnly: true
});
mocha --reporter list --growl
$REPORTER=nyan npm test
多次調(diào)用回調(diào)會拋錯
var should = require('chai').should();
這個可以判斷should.exist(bitcore.lib);這些內(nèi)容是否存在
to
be
been
let server = sinon.fakeServer.create();
模擬返回值:sinon.fake.returns(42);
模擬ajax:sinon.replace(jQuery, 'ajax', sinon.fake());
模擬xhr:sinon.useFakeXMLHttpRequest();
模擬服務(wù)器:sinon.fakeServer.create()
sinon.mock(database);
stub擁有spies的所有功能,不是為了監(jiān)視調(diào)用情況,而是完全取代。
mock與stub功能一樣,都是用來替換指定函數(shù),mock用在替換掉多個方法,stub適用于替換一個函數(shù)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。