程式導師實驗計畫 [第三週] 利用Jest來寫你的第一個測試!
當寫好一個功能的時候,也許會做不同的資料上的手動測試,看程式會不會爆掉。
而通常就是把結果用console.log()
給印下來
1 | function repeat(str, times) { |
當專案越來越龐大,這樣的手動測試會越來越不容易
Jest 可以幫助我們寫一個測試的檔案
根據文件上的教學
- 首先透過
npm install --save-dev jest
安裝套件
1 | npm install --save-dev jest |
- 在
package.json
檔案下的scripts
新增一個test
的快捷指令,要執行的指令為”jest”
1 | { |
執行 Jest 的時候 , Jest 會去找尋主程式檔名後綴.test
的檔案
例如主程式檔名為repeat.js
,就會去找尋repeat.test.js
的檔案當測試檔
再來一次範例
1 | //重複某段字串數次 |
1 | const repeat = require("./repeat"); |
整個測試集合的描述為test repeat
第一個test
(測試)的expect
是a
重複三次,toBe(期望值)為aaa
,
對這個單元測試的描述為a repeat 3 times
。
第一個test
(測試)的expect
是b
重複一次,toBe(期望值)為b
,
對這個單元測試的描述為b repeat 1 times
。
- describe : 創建一個將幾個相關測試組合在一起的模塊
- test : 運行測試的方法
- expect : 判斷是否和預期值相同
- toBe : 期望的結果
接著在終端機執行npm run test
就會跟你說這次的單元測試有沒有過,有個話就會跟你說Ran all test suites.
接下來來一個測試出錯的範例
for
迴圈變成了<=
,代表功能沒寫好,會多執行一次
1 | function repeat(str, times) { |
測試不變
1 | const repeat = require("./repeat"); |
Jest 就會顯示期望的數值是aaa
,但得到的數值卻是aaaa
1 | Expected: "aaa" |
以上就是這篇的筆記內容