iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
2
Modern Web

TypeScript + React + 雜七雜八系列 第 24

【Day 24】Jest,安裝及基本 Matchers

  • 分享至 

  • xImage
  •  

大家好,今天的篇章要介紹的是 Jest

一樣會延續前一天的專案結構接續下去進行修改,如果沒有參與到昨天的建置過程,這邊也有提供原始碼
https://github.com/littlehorseboy/typescript-react/tree/day23-redux-observable


Jest

Jest 是一個 JavaScript 測試框架,旨在確保任何 JavaScript 程式碼的正確性。它可以快速的在下載安裝後立即使用,不需繁瑣的配置,有充分的文檔,提供功能豐富的 API 編寫測試,從而快速獲得結果,並且可以擴展以滿足您的要求

npm i -D jest @types/jest ts-jest

新增測試的指令到 package.json 的 scripts 上

npm run test -- --init

上一段實際執行的是 jest --init 來產生 jest.config.js,因為筆者沒有用全域 -g 安裝所以會這樣用

產生一個 jest.config.js 了之後,修改其中的 preset

這樣 Jest 的測試環境就設置完了,剛剛的 ts-jest 那些設置是為了讓測試案例可以寫在 ts 上


這邊提一個額外的配置是關於 VSCode 的偵錯

筆者是設定

+ .vscode/launch.json

配置好偵錯要調用的主程式,就能直接用 VSCode 來 debugger 了


接下來回到 Jest,先從最基礎的地方一步一步開始實作吧

Matchers

+ src/JestPractice/sum.ts

toBe

+ __tests__/sum.test.ts

toEqual

+ __tests__/toEqual.test.ts

not.toBe

+ __tests__/not.toBe.test.ts

toBeNull toBeUndefined toBeTruthy toBeFalsy

+ __tests__/toBeNull.test.ts

toContain

+ __tests__/toContain.test.ts

npm run test


筆者一直都很想練熟測試技能,不過隔一段時間又總會因為沒用到而漸漸淡忘,期望這次能依靠寫這幾篇文章,而扎扎實實的打穩關於測試的基礎

最後附上原始碼
https://github.com/littlehorseboy/typescript-react/tree/day24-jest


明天要繼續介紹 Jest,一步一步的從基礎向前邁進!


上一篇
【Day 23】redux-observable
下一篇
【Day 25】Jest,測試非同步 code 及 beforeEach
系列文
TypeScript + React + 雜七雜八30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言