dotnet-testing

SKILL.md

.NET 測試基礎技能總覽

本檔案是「導航中心」,幫助找到正確的子技能。子技能包含詳細的程式碼範例、最佳實踐和常見陷阱,載入正確的子技能能確保使用者獲得最完整的指引。

根據使用者需求匹配對應的子技能,使用 Skill tool 載入,讓子技能提供專業的測試指引。


快速技能對照表

使用者提到的關鍵字 → 應載入的子技能

最常用技能

使用者說... 載入指令 用途說明
Validator、驗證器、CreateUserValidator /skill dotnet-testing-fluentvalidation-testing FluentValidation 測試
Mock、模擬、IRepository、IService /skill dotnet-testing-nsubstitute-mocking 模擬外部依賴
AutoFixture、測試資料生成 /skill dotnet-testing-autofixture-basics 自動產生測試資料
斷言、Should()、BeEquivalentTo /skill dotnet-testing-awesome-assertions-guide 流暢斷言(必學)
DateTime、時間測試、TimeProvider /skill dotnet-testing-datetime-testing-timeprovider 時間相關測試
File、檔案系統、IFileSystem /skill dotnet-testing-filesystem-testing-abstractions 檔案系統測試
Bogus、假資料、Faker /skill dotnet-testing-bogus-fake-data 擬真資料生成
Builder Pattern、WithXxx /skill dotnet-testing-test-data-builder-pattern Test Data Builder
深層比對、DTO 比對、Excluding /skill dotnet-testing-complex-object-comparison 複雜物件比對

基礎入門技能

使用者說... 載入指令 用途說明
從零開始、測試基礎、FIRST 原則 /skill dotnet-testing-unit-test-fundamentals 單元測試基礎
測試命名、如何命名測試 /skill dotnet-testing-test-naming-conventions 命名規範
建立測試專案、xUnit 設定 /skill dotnet-testing-xunit-project-setup 專案建置

進階技能組合

使用者說... 載入指令 用途說明
AutoFixture + Bogus /skill dotnet-testing-autofixture-bogus-integration 自動化+擬真資料
AutoFixture + NSubstitute /skill dotnet-testing-autofixture-nsubstitute-integration 自動建立 Mock
AutoData、Theory 測試 /skill dotnet-testing-autodata-xunit-integration 參數化測試
測試輸出、ITestOutputHelper /skill dotnet-testing-test-output-logging 測試日誌
覆蓋率、Coverlet /skill dotnet-testing-code-coverage-analysis 程式碼覆蓋率

使用流程範例

使用者:請幫我建立 CreateUserValidator 的測試

AI:我注意到您需要測試 Validator。根據快速對照表,
    我應該載入 dotnet-testing-fluentvalidation-testing skill。

    [使用 Skill tool 載入子技能]

AI:現在按照 FluentValidation Testing skill 的指引為您建立測試...

完整技能清單

如需查看完整的 19 個基礎技能清單、詳細決策樹、學習路徑建議,請繼續閱讀本檔案後續內容。

人類開發者參考:如需快速查找,請查看 SKILLS_QUICK_INDEX.md


快速決策樹

我應該從哪裡開始?

情境 1:完全新手,從未寫過測試

推薦學習路徑

  1. dotnet-testing-unit-test-fundamentals - 理解 FIRST 原則與 3A Pattern
  2. dotnet-testing-test-naming-conventions - 學習命名規範
  3. dotnet-testing-xunit-project-setup - 建立第一個測試專案

為什麼這樣學

  • FIRST 原則是所有測試的基礎,先建立正確的觀念
  • 命名規範讓測試易讀易維護
  • 實際動手建立專案,將理論轉化為實踐

情境 2:會寫基礎測試,但測試資料準備很麻煩

推薦技能(擇一或組合)

選項 A - 自動化優先dotnet-testing-autofixture-basics 適合:需要大量測試資料、減少樣板程式碼

選項 B - 擬真資料優先dotnet-testing-bogus-fake-data 適合:需要真實感的測試資料(姓名、地址、Email 等)

選項 C - 語意清晰優先dotnet-testing-test-data-builder-pattern 適合:需要高可讀性、明確表達測試意圖

選項 D - 兩者兼具dotnet-testing-autofixture-basics + dotnet-testing-autofixture-bogus-integration 適合:同時需要自動化和擬真資料


情境 3:有外部依賴(資料庫、API、第三方服務)需要模擬

推薦技能組合

  1. dotnet-testing-nsubstitute-mocking - NSubstitute Mock 框架基礎
  2. dotnet-testing-autofixture-nsubstitute-integration - (可選)整合 AutoFixture 與 NSubstitute

何時需要第二個技能

  • 如果您已經在使用 AutoFixture 產生測試資料
  • 想要自動建立 Mock 物件,減少手動設定

情境 4:測試中有特殊場景

時間相關測試dotnet-testing-datetime-testing-timeprovider 處理:DateTime.Now、時區轉換、時間計算

檔案系統測試dotnet-testing-filesystem-testing-abstractions 處理:檔案讀寫、目錄操作、路徑處理

私有/內部成員測試dotnet-testing-private-internal-testing 處理:需要測試 private、internal 成員(但應謹慎使用)


情境 5:需要更好的斷言方式

基礎需求 - 流暢斷言dotnet-testing-awesome-assertions-guide 所有專案都應該使用,提升測試可讀性

進階需求 - 複雜物件比較dotnet-testing-complex-object-comparison 處理:深層物件比較、DTO 驗證、Entity 比對

驗證規則測試dotnet-testing-fluentvalidation-testing 處理:測試 FluentValidation 驗證器


情境 6:想了解測試覆蓋率

dotnet-testing-code-coverage-analysis 學習:使用 Coverlet 分析程式碼覆蓋率、產生報告

技能分類地圖

將 19 個基礎技能分為 7 大類別(測試基礎、測試資料生成、測試替身、斷言驗證、特殊場景、測試度量、框架整合),每類包含技能對照表、學習路徑與程式碼範例。

詳細內容請參閱 references/skill-classification-map.md

常見任務映射表

提供 7 個常見測試任務(從零建專案、服務依賴測試、時間邏輯測試等)的技能組合推薦、實施步驟與提示詞範例。

詳細內容請參閱 references/task-mapping-table.md

學習路徑建議

規劃新手路徑(1-2 週)與進階路徑(2-3 週)的每日學習計畫,包含技能、學習重點與實作練習。

詳細內容請參閱 references/learning-paths.md

引導對話範例

展示 AI 如何與您互動,幫助您選擇正確的技能,包含新手入門、處理依賴、特定問題、改善測試等 4 個常見對話場景。

詳細內容請參閱 references/conversation-examples.md

與進階技能的關係

完成基礎技能後,如果您需要進行整合測試、API 測試、容器化測試或微服務測試,請參考:

進階整合測試dotnet-testing-advanced

  • ASP.NET Core 整合測試
  • 容器化測試(Testcontainers)
  • 微服務測試(.NET Aspire)
  • 測試框架升級與遷移

輸出格式

  • 根據使用者需求推薦具體的子技能名稱與載入指令
  • 提供簡短的推薦理由說明為何選擇該技能
  • 若涉及多個技能組合,列出建議的學習順序

相關資源

原始資料來源

學習文檔

本技能集基於以下完整教材提煉而成:

  • Agent Skills:從架構設計到實戰應用 (docs/Agent_Skills_Mastery.pdf) 完整涵蓋 Agent Skills 從理論到實踐

  • Claude Code Skills: 讓 AI 變身專業工匠 (docs/Agent_Skills_Architecture.pdf) 深入解析 Agent Skills 的架構設計

  • .NET Testing:寫得更好、跑得更快 (docs/NET_Testing_Write_Better_Run_Faster.pdf) 測試執行優化與除錯技巧

下一步

選擇符合您需求的技能開始學習,或告訴我您的具體情況,我會推薦最適合的學習路徑!

快速開始

  • 新手 → 從 dotnet-testing-unit-test-fundamentals 開始
  • 有經驗 → 告訴我您遇到的具體問題
  • 不確定 → 告訴我您的專案情況,我會幫您分析
Weekly Installs
32
GitHub Stars
18
First Seen
Jan 25, 2026
Installed on
gemini-cli27
codex24
cursor24
opencode24
github-copilot21
claude-code20