扣丁學(xué)堂軟件測試培訓(xùn)之Jest單元測試入門
2018-02-07 15:08:18
1865瀏覽
今天扣丁學(xué)堂給大家介紹的是軟件測試之Jest單元測試入門首先在學(xué)習(xí)Jest之前,我們需要回答一個問題:為何要進行單元測試?編寫單元測試可以給你帶來很多好處:
●將測試自動化,無需每次都人工測試。
●變更檢查,當(dāng)代碼發(fā)生重構(gòu),可以及時發(fā)現(xiàn),并做出相應(yīng)的調(diào)整。
●列舉測試用例,可以幫你了解所有的邊界情況。
●當(dāng)作文檔,如果你的測試描述足夠詳細,生成的測試報告甚至可以當(dāng)作文檔。
總之,單元測試會讓你的生活更加美好。
使用Jest進行單元測試
編寫測試通常都會基于某個測試框架,在眾多測試框架中我選擇了Jest,不僅因為我是個React開發(fā)者(React與Jest都是Facebook出的),而且因為它確實簡單好用。讓我們開始編寫測試吧!
首先,安裝Jest:
npminstall--save-devjest
然后,編寫一個待測試的文件,以Stack類為例:
Stack.js
functionStack(){
//私有變量items,用于記錄數(shù)組,對象不能直接操作
varitems=[];
//類方法push,在數(shù)組末尾添加項,對象可以直接調(diào)用
this.push=function(element){
items.push(element);
};
//刪除并返回數(shù)組末尾的項
this.pop=function(){
returnitems.pop();
};
}
接下來,編寫一個測試文件Stack.test.js:
Stack.test.js
//導(dǎo)入Stack
varStack=require('./Stack');
test('Stack',function(){
//實例化一個stack對象
varstack=newStack();
stack.push(8);
//期望stack最后一項是8
expect(stack.pop()).toBe(8);
});
然后,在package.json中添加:
"scripts":{
"test":"jest"
}
最后,打開命令行運行:
npmtest
結(jié)果會在命令行中生成測試報告:
PASSStack.test.js
TestSuites:1passed,1total
Tests:1passed,1total
Snapshots:0total
Time:0.386s
Ranalltestsuites.
斷言簡介
在上面的測試代碼中有個expect().toBe()來判斷結(jié)果是否是預(yù)期,這叫斷言。什么是斷言?在程序設(shè)計中,斷言(assertion)是一種放在程序中的一階邏輯(如一個結(jié)果為真或是假的邏輯判斷式),目的是為了標(biāo)示與驗證程序開發(fā)者預(yù)期的結(jié)果。除了expect().toBe()之外,其他常用的斷言包括:
expect().toEqual():判斷結(jié)果是否和預(yù)期等價。
expect().toBeFalsy():判斷結(jié)果是否為假。
expect().toBeTruthy():判斷結(jié)果是否為真。
以上就是關(guān)于
軟件測試培訓(xùn)之Jest單元測試入門的詳細介紹,最后想要了解更多關(guān)于軟件測試培訓(xùn)發(fā)展前景趨勢,請關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺為您提供權(quán)威的
軟件測試視頻教程系統(tǒng),通過千鋒扣丁學(xué)堂金牌講師在線錄制的軟件測試在線視頻教程,讓你快速掌握軟件測試從入門到精通開發(fā)實戰(zhàn)技能。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“軟件測試技術(shù)資訊”的相關(guān)文章>>
標(biāo)簽:
軟件測試培訓(xùn)
軟件測試工程師
軟件測試在線視頻
軟件測試視頻教程
軟件測試教程
白盒測試
黑盒測試