Jest
Jest 是一個常見的測試執行器,擁有龐大的生態系統。與 Turborepo 整合將帶來巨大的速度提升。
需知事項
本指南假設您正在使用 create-turbo 或具有類似結構的儲存庫。設定
假設我們有一個類似這樣的單體儲存庫
package.json
package.json
將 jest
安裝到您計畫建立測試套件的套件中。在此範例中,我們將在 web
和 @repo/ui
中進行測試
apps/web
和 packages/ui
都有自己的測試套件,因此我們將在它們的 package.json
中加入 test
指令碼
在根目錄的 turbo.json
中,建立一個 test
任務
現在,turbo test
可以平行化並快取每個套件的所有測試套件,只測試已變更的程式碼。
在監看模式中執行測試
當您正常執行測試套件時,它會完成並輸出到 stdout
。這表示您可以使用 Turborepo 快取它。
但是當您在監看模式中執行測試時,該程序永遠不會結束。這使得監看任務更像是一個開發任務。
由於這種差異,我們建議指定兩個單獨的 Turborepo 任務:一個用於執行測試,另一個用於在 Jest 的監看模式中執行。在每個工作區的每個 package.json
檔案中
在根目錄的 turbo.json
中
您現在可以使用全域 turbo
作為 turbo test:watch
或從根目錄 package.json
中的指令碼執行此任務
這有幫助嗎?