工程開發
testing-anti-patterns avatar

testing-anti-patterns

執行高品質測試實踐,識別並防止常見反模式,如測試 Mock 行為、生產程式碼中的測試專用方法以及對相依性理解不足的 Mock 方式。

簡介

此技能作為軟體測試的品質守門員,專門協助開發人員與 AI 代理避免可能降低測試可靠性與程式碼可維護性的常見陷阱。它適用於任何編寫、維護或審查自動化測試的工程師,特別是在使用 Jest、Vitest 或基於 TypeScript 的測試執行環境中。透過遵守這些「鐵律」,使用者可以確保測試套件驗證的是實際的應用程式邏輯,而非脆弱的實作細節。本技能提供了明確的關卡檢查功能,指導測試過程中的決策,確保 Mock 被用於隔離目標,而非成為斷言的對象。

  • 偵測並防止測試 Mock 行為,轉而測試真實的系統功能。

  • 消除在生產類別中污染測試專用方法的做法,促進更清晰的關注點分離。

  • 為理解與 Mock 相依性提供強健框架,防止因不完整的 Mock 回應導致的靜默失敗。

  • 實作演算法檢查功能,在將 Mock 引入測試套件前評估其必要性與正確性。

  • 支援應用嚴格的測試驅動開發 (TDD) 原則,以避免常見的測試反模式。

  • 每當您在撰寫新的單元或整合測試、重構複雜程式碼,或發現嚴重依賴 Mock 的測試不穩定時,請使用此技能。

  • 在對 Mock 物件進行斷言前,請根據本技能的邏輯驗證其合理性:如果測試僅檢查 Mock 是否存在,則應刪除或重構該斷言。

  • 對於生產程式碼清理,應識別測試專用的方法並將其遷移至外部工具檔案,以保持生產 API 的精簡與安全。

  • 務必確保 Mock 完整對應真實 API 回應的資料結構,以避免造成下游程式碼崩潰的結構性假設。

  • 若測試因複雜的副作用而失敗,請使用關卡檢查功能確認是否在錯誤層級進行 Mock,並據此調整測試替身 (Test Doubles)。

倉庫統計

Star 數
16
Fork 數
0
Open Issue 數
0
主要語言
Shell
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月1日 上午08:12
在 GitHub 查看