工程開發
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