工程開發
encore-testing avatar

encore-testing

使用 Vitest 對 Encore.ts 後端應用程式進行單元與整合測試,包含隔離資料庫與服務模擬支援。

簡介

此技能提供有關測試使用 Encore.ts 建構之後端服務的詳細指南。它專注於使用 Vitest 作為主要的測試框架,透過自動化的單元與整合測試協助開發者編寫高品質且可靠的程式碼。本技能涵蓋標準設定流程,包括配置 Vitest 以處理 Encore 特有的導入方式,並將測試與 Encore 的本地基礎架構管理進行整合。透過執行 encore test 指令,開發者可以確保每次測試運行都能受益於自動化的測試資料庫佈署、隔離的環境管理,以及正確的服務依賴處理。

  • 編寫 API 端點的單元測試,直接以 TypeScript 函式呼叫它們,以便輕鬆驗證請求與回應的合約。
  • 實作隔離的資料庫操作,每個測試都能在乾淨的交易狀態下執行,並在完成後自動回滾,確保測試過程無副作用。
  • 利用 Vitest 強大的模擬 (mocking) 功能來隔離服務間的通訊,或替換外部第三方 API 依賴項。
  • 處理非同步測試場景,包括使用 APIError 代碼驗證複雜的錯誤情況,以及驗證 Pub/Sub 事件的發布。
  • 透過在受控測試環境中直接呼叫底層處理函式,來測試 Cron 定時任務與背景作業。
  • 配置進階測試設定,包含 Vitest 全域變數、Node 環境隔離以及覆蓋率報告工具。
  • 將測試整合進 VS Code 並使用 Vitest 擴充功能,特別針對管理檔案級並行性以防止測試執行期間的連接埠衝突提供指導。
  • 透過為並行執行與本地開發工作流設定適當的標籤,優化 CI/CD 管線。

遵循既定的模式以確保測試套件的可維護性。在可行情況下,請優先使用真實的 Encore 基礎架構組件(如 PostgreSQL 資料庫或 Pub/Sub 佇列)而非進行模擬,以保持高保真的整合測試。使用提供的 vite.config.ts 配置來確保正確解析生成程式碼的別名。請將測試重點放在商業邏輯與服務互動上,確保錯誤場景與成功執行流程的完整路徑覆蓋。

倉庫統計

Star 數
23
Fork 數
3
Open Issue 數
1
主要語言
未提供
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月3日 下午06:45
在 GitHub 查看