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