dotnet-testing-advanced

SKILL.md

.NET 進階測試技能總覽

本檔案是「進階測試導航中心」,幫助找到正確的進階子技能。進階測試涉及容器管理、WebApplicationFactory 設定等複雜細節,子技能包含完整的設定指引和常見問題排解,載入正確的子技能能確保使用者獲得完整指引。

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


快速技能對照表

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

整合測試技能

使用者說... 載入指令 用途說明
API 測試、Controller 測試、端點測試 /skill dotnet-testing-advanced-aspnet-integration-testing 基礎 API 整合測試
完整 CRUD、WebAPI 測試、業務流程測試 /skill dotnet-testing-advanced-webapi-integration-testing 完整 API 流程測試
WebApplicationFactory、TestServer /skill dotnet-testing-advanced-aspnet-integration-testing WebApplicationFactory 使用

容器化測試技能

使用者說... 載入指令 用途說明
SQL Server 容器、PostgreSQL、MySQL /skill dotnet-testing-advanced-testcontainers-database 關聯式資料庫容器測試
MongoDB、Redis、Elasticsearch /skill dotnet-testing-advanced-testcontainers-nosql NoSQL 資料庫容器測試
真實資料庫、EF Core 測試、Dapper 測試 /skill dotnet-testing-advanced-testcontainers-database 真實資料庫行為測試
Testcontainers、容器測試、Docker 測試 /skill dotnet-testing-advanced-testcontainers-database Testcontainers 基礎

微服務測試技能

使用者說... 載入指令 用途說明
.NET Aspire、微服務測試、分散式測試 /skill dotnet-testing-advanced-aspire-testing Aspire 微服務測試
DistributedApplication、服務間通訊 /skill dotnet-testing-advanced-aspire-testing Aspire 應用測試

框架升級技能

使用者說... 載入指令 用途說明
xUnit 升級、xUnit 3.x、版本升級 /skill dotnet-testing-advanced-xunit-upgrade-guide xUnit 2.x → 3.x 升級
TUnit、新測試框架、TUnit 基礎 /skill dotnet-testing-advanced-tunit-fundamentals TUnit 基礎與遷移
TUnit 進階、TUnit DI、平行執行 /skill dotnet-testing-advanced-tunit-advanced TUnit 進階功能

使用流程範例

使用者:請幫我建立 ProductsController 的 API 整合測試

AI:我注意到您需要進行 API 整合測試。根據快速對照表,
    我應該載入 dotnet-testing-advanced-aspnet-integration-testing skill。

    [使用 Skill tool 載入子技能]

AI:現在按照 ASP.NET Core Integration Testing skill 的指引為您建立測試...

完整技能清單

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

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


快速決策樹

根據測試情境(API 測試、真實資料庫、微服務、框架遷移)快速找到對應的進階子技能。涵蓋 4 大情境與多個選項分支。

詳細內容請參閱 references/decision-tree.md


技能分類地圖

8 個進階技能分為三大類:整合測試(4 個)、微服務測試(1 個)、框架遷移(3 個),包含各技能的核心價值、適合情境、學習難度與前置技能。

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


常見任務映射表

7 個常見任務的完整映射,包含情境描述、推薦技能、實施步驟、提示詞範例與預期程式碼結構。

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


整合測試層級對應

根據專案複雜度,選擇適合的測試策略:

Level 1:簡單的 WebApi 專案

專案特徵

  • 簡單的 CRUD API
  • 無外部依賴或使用記憶體實作
  • 業務邏輯簡單

推薦技能

  • dotnet-testing-advanced-aspnet-integration-testing

測試重點

  • 路由驗證
  • 模型綁定
  • HTTP 回應
  • 基本業務邏輯

範例專案

  • TodoList API
  • 簡單的產品目錄

Level 2:相依 Service 的 WebApi 專案

專案特徵

  • 有業務邏輯層(Services)
  • 依賴外部服務(可以 Mock)
  • 中等複雜度

推薦技能組合

  1. dotnet-testing-advanced-aspnet-integration-testing(基礎)
  2. dotnet-testing-nsubstitute-mocking(模擬依賴)

測試策略

  • 使用 NSubstitute 建立 Service stub
  • 測試 Controller 與 Service 的互動
  • 驗證錯誤處理

範例專案

  • 電商 API(有庫存、訂單服務)
  • CMS 系統

Level 3:完整的 WebApi 專案

專案特徵

  • 複雜的業務邏輯
  • 需要真實資料庫
  • 可能有外部 API 整合
  • 完整的錯誤處理

推薦技能組合

  1. dotnet-testing-advanced-webapi-integration-testing(完整流程)
  2. dotnet-testing-advanced-testcontainers-database(真實資料庫)
  3. dotnet-testing-advanced-testcontainers-nosql(如有使用 NoSQL)

測試策略

  • 使用 Testcontainers 建立真實資料庫
  • 完整的端到端測試
  • 測試資料準備與清理
  • 驗證所有錯誤情境

範例專案

  • 大型電商平台
  • 企業級管理系統
  • SaaS 應用

學習路徑建議

包含整合測試入門(1 週)、微服務測試專精(3-5 天)、框架遷移路徑等完整學習計畫與每日學習重點。

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


技能組合建議

根據不同的專案需求,推薦以下技能組合:

組合 1:完整 API 測試專案

適合:建立正式專案的完整測試套件

技能組合

  1. dotnet-testing-advanced-aspnet-integration-testing(基礎)
  2. dotnet-testing-advanced-testcontainers-database(真實資料庫)
  3. dotnet-testing-advanced-webapi-integration-testing(完整流程)

學習順序

  1. 先學 aspnet-integration-testing 理解基礎
  2. 再學 testcontainers-database 掌握資料庫測試
  3. 最後學 webapi-integration-testing 整合應用

預期成果

  • 能為 Web API 專案建立完整測試
  • 使用真實資料庫驗證行為
  • 測試所有 CRUD 端點與錯誤處理

組合 2:微服務測試方案

適合:微服務架構、分散式系統

技能組合

  1. dotnet-testing-advanced-aspire-testing(核心)
  2. dotnet-testing-advanced-testcontainers-database(資料庫)
  3. dotnet-testing-advanced-testcontainers-nosql(NoSQL)

學習順序

  1. 先學 testcontainers(資料庫測試基礎)
  2. 再學 aspire-testing(微服務測試)

預期成果

  • 測試 .NET Aspire 專案
  • 驗證服務間通訊
  • 使用容器化環境測試

組合 3:框架現代化

適合:測試框架升級或遷移

選項 A:xUnit 升級

技能

  • dotnet-testing-advanced-xunit-upgrade-guide

適合

  • 現有專案使用 xUnit 2.x
  • 想升級到最新版本

選項 B:TUnit 遷移

技能組合

  1. dotnet-testing-advanced-tunit-fundamentals(基礎)
  2. dotnet-testing-advanced-tunit-advanced(進階)

適合

  • 新專案選擇測試框架
  • 考慮從 xUnit 遷移

學習順序

  1. 先學 fundamentals 了解基礎
  2. 再學 advanced 掌握進階功能

前置技能要求

學習進階技能前,建議先掌握以下基礎技能(來自 dotnet-testing 基礎技能集):

必備技能

1. dotnet-testing-unit-test-fundamentals

為什麼必須

  • 整合測試也遵循 3A Pattern
  • FIRST 原則同樣適用
  • 需要理解測試基礎概念

2. dotnet-testing-xunit-project-setup

為什麼必須

  • 需要建立測試專案
  • 理解專案結構
  • 了解套件管理

3. dotnet-testing-awesome-assertions-guide

為什麼必須

  • 整合測試需要驗證 HTTP 回應
  • FluentAssertions.Web 提供強大的 API 斷言
  • 提升測試可讀性

推薦技能

1. dotnet-testing-nsubstitute-mocking

為什麼推薦

  • 整合測試中可能需要 Mock 外部服務
  • WebApplicationFactory 需要替換服務

2. dotnet-testing-autofixture-basics

為什麼推薦

  • 快速產生測試資料
  • 減少整合測試的樣板程式碼

引導對話範例

4 個完整的對話範例,展示 AI 如何引導選擇正確技能:API 測試、微服務測試、框架升級、TUnit 評估。

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


與基礎技能的關係

進階技能建立在基礎技能之上:

基礎測試能力dotnet-testing(基礎技能集)

  • 單元測試基礎
  • 測試資料生成
  • 斷言與模擬
  • 特殊場景處理

↓ 進階應用

進階整合測試dotnet-testing-advanced(本技能集)

  • Web API 整合測試
  • 容器化測試
  • 微服務測試
  • 框架升級

學習建議: 先完成 dotnet-testing 基礎技能集的核心技能,再進入本進階技能集。


輸出格式

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

相關資源

原始資料來源

技術需求

整合測試技能

  • .NET 8+
  • Docker Desktop
  • WSL2(Windows 環境)

Aspire 測試技能

  • .NET 8+
  • .NET Aspire Workload
  • Docker Desktop

下一步

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

快速開始

  • 想測試 API → 從 dotnet-testing-advanced-aspnet-integration-testing 開始
  • 需要真實資料庫 → 從 dotnet-testing-advanced-testcontainers-database 開始
  • 微服務專案 → 使用 dotnet-testing-advanced-aspire-testing
  • 框架升級 → 使用對應的升級指南
  • 不確定 → 告訴我您的專案情況,我會幫您分析
Weekly Installs
19
GitHub Stars
18
First Seen
Jan 25, 2026
Installed on
gemini-cli18
opencode15
claude-code15
cursor14
antigravity14
codex14