dotnet-testing-agent-skills
💡 摘要
為 .NET 開發者提供的 AI Agent Skills 集合,增強從單元測試到整合測試的實踐。
🎯 适合人群
🤖 AI 吐槽: “看起来很能打,但别让配置把人劝退。”
风险:Medium。建议检查:是否执行 shell/命令行指令;是否发起外网请求(SSRF/数据外发);文件读写范围与路径穿越风险。以最小权限运行,并在生产环境启用前审计代码与依赖。
.NET Testing Agent Skills
🏆 基於 2025 iThome 鐵人賽 Software Development 組冠軍作品「老派軟體工程師的測試修練 - 30 天挑戰」提煉而成
專為 .NET 開發者打造的 AI Agent Skills 集合,涵蓋從單元測試到整合測試的完整最佳實踐。讓 GitHub Copilot、Claude 等 AI 助理自動為您提供專業的測試指導!
✨ 特色
- 🎯 符合官方規範:29 個 skills 的 description 包含 Keywords 關鍵字,AI 根據對話內容自動載入
- 📚 29 個精煉技能:包含 2 個總覽技能 + 27 個專業技能,涵蓋單元測試、模擬、測試資料生成、整合測試等
- 🔧 即用範本:提供完整的專案結構與程式碼範例
- 🌐 多平台支援:GitHub Copilot、Claude Code、Cursor 等
- 📖 中文友善:完整的繁體中文文件與命名建議
- 📦 標準化結構:符合 Claude Code skills 標準,支援 npx skills install 安裝
- 📊 2026-02-01 全面優化:Description(含 Keywords)、入口導航全面強化
🚀 快速開始
方法一:使用 npx skills install(推薦)
# 從 GitHub 直接安裝到 Claude Code 全域 skills npx skills install https://github.com/kevintsengtw/dotnet-testing-agent-skills.git # 或安裝到當前工作區 npx skills install https://github.com/kevintsengtw/dotnet-testing-agent-skills.git --workspace
方法二:直接複製
複製到 GitHub Copilot(VS Code)
Linux / macOS (Bash)
# 1. Clone 此 repo git clone https://github.com/kevintsengtw/dotnet-testing-agent-skills.git # 2. 複製到您的專案(GitHub Copilot 使用 .github/skills) cp -r dotnet-testing-agent-skills/skills /your-project/.github/ # 3. 在 VS Code 中啟用 Agent Skills # 設定 → 搜尋 "chat.useAgentSkills" → 勾選啟用
Windows (PowerShell)
# 1. Clone 此 repo git clone https://github.com/kevintsengtw/dotnet-testing-agent-skills.git # 2. 複製到您的專案(GitHub Copilot 使用 .github/skills) Copy-Item -Path "dotnet-testing-agent-skills\skills" -Destination "\your-project\.github\" -Recurse # 3. 在 VS Code 中啟用 Agent Skills # 設定 → 搜尋 "chat.useAgentSkills" → 勾選啟用
複製到 Claude Code
Linux / macOS (Bash)
# 複製到 Claude Code 工作區 skills cp -r dotnet-testing-agent-skills/skills /your-project/.claude/ # 或複製到全域 skills cp -r dotnet-testing-agent-skills/skills ~/.config/claude/
Windows (PowerShell)
# 複製到 Claude Code 工作區 skills Copy-Item -Path "dotnet-testing-agent-skills\skills" -Destination "\your-project\.claude\" -Recurse # 或複製到全域 skills Copy-Item -Path "dotnet-testing-agent-skills\skills" -Destination "$env:APPDATA\claude\" -Recurse
方法三:Git Submodule
cd /your-project # 對 GitHub Copilot:加入 submodule 到 .github/skills git submodule add https://github.com/kevintsengtw/dotnet-testing-agent-skills .github/skills cd .github/skills && cp -r skills/* . && cd ../.. # 對 Claude Code:加入 submodule 到 .claude/skills git submodule add https://github.com/kevintsengtw/dotnet-testing-agent-skills .claude/skills cd .claude/skills && cp -r skills/* . && cd ../..
方法四:選擇性複製
只需要特定技能?
Linux / macOS (Bash)
# 只複製單元測試基礎 cp -r dotnet-testing-agent-skills/skills/dotnet-testing-unit-test-fundamentals /your-project/.github/skills/ # 只複製 AutoFixture 系列 cp -r dotnet-testing-agent-skills/skills/dotnet-testing-autofixture-* /your-project/.github/skills/ # 只複製總覽 skills cp -r dotnet-testing-agent-skills/skills/dotnet-testing /your-project/.github/skills/ cp -r dotnet-testing-agent-skills/skills/dotnet-testing-advanced /your-project/.github/skills/
Windows (PowerShell)
# 只複製單元測試基礎 Copy-Item -Path "dotnet-testing-agent-skills\skills\dotnet-testing-unit-test-fundamentals" -Destination "\your-project\.github\skills\" -Recurse # 只複製 AutoFixture 系列 Get-ChildItem -Path "dotnet-testing-agent-skills\skills\dotnet-testing-autofixture-*" | Copy-Item -Destination "\your-project\.github\skills\" -Recurse # 只複製總覽 skills Copy-Item -Path "dotnet-testing-agent-skills\skills\dotnet-testing" -Destination "\your-project\.github\skills\" -Recurse Copy-Item -Path "dotnet-testing-agent-skills\skills\dotnet-testing-advanced" -Destination "\your-project\.github\skills\" -Recurse
目錄結構
skills/ ├── dotnet-testing/ # ⭐ 總覽:基礎技能導航(19 個子技能) ├── dotnet-testing-advanced/ # ⭐ 總覽:進階技能導航(8 個子技能) ├── dotnet-testing-unit-test-fundamentals/ ├── dotnet-testing-test-naming-conventions/ ├── dotnet-testing-xunit-project-setup/ ├── dotnet-testing-awesome-assertions-guide/ ├── dotnet-testing-complex-object-comparison/ ├── dotnet-testing-code-coverage-analysis/ ├── dotnet-testing-nsubstitute-mocking/ ├── dotnet-testing-test-output-logging/ ├── dotnet-testing-private-internal-testing/ ├── dotnet-testing-fluentvalidation-testing/ ├── dotnet-testing-datetime-testing-timeprovider/ ├── dotnet-testing-filesystem-testing-abstractions/ ├── dotnet-testing-test-data-builder-pattern/ ├── dotnet-testing-autofixture-basics/ ├── dotnet-testing-autofixture-customization/ ├── dotnet-testing-autodata-xunit-integration/ ├── dotnet-testing-autofixture-nsubstitute-integration/ ├── dotnet-testing-bogus-fake-data/ ├── dotnet-testing-autofixture-bogus-integration/ ├── dotnet-testing-advanced-aspnet-integration-testing/ ├── dotnet-testing-advanced-testcontainers-database/ ├── dotnet-testing-advanced-testcontainers-nosql/ ├── dotnet-testing-advanced-webapi-integration-testing/ ├── dotnet-testing-advanced-aspire-testing/ ├── dotnet-testing-advanced-xunit-upgrade-guide/ ├── dotnet-testing-advanced-tunit-fundamentals/ └── dotnet-testing-advanced-tunit-advanced/
注意:
- Skills 採用扁平結構,使用前綴命名來區分基礎技能 (
dotnet-testing-*) 與進階技能 (dotnet-testing-advanced-*)- ⭐ 兩個總覽 skills 提供智能導航,自動推薦適合的子技能組合
- 安裝後,skills 會根據目標環境複製到對應位置(
.github/skills/或.claude/skills/)
📖 快速參考指南(推薦)
為了讓您快速上手並充分運用這些 skills,我們提供了完整的參考指南:
SKILLS_QUICK_REFERENCE.md (v2.0.0 合併版)
Skills 快速參考指南 - 整合 AI Agent 與開發者使用指引
給 AI Agent 的指引:
- 🔍 關鍵字快速對應表:20 個常用場景的關鍵字 → Skill 映射
- 🚀 AI Agent 工作流程範本:4 步驟自動化流程說明
給開發者的參考:
- 💬 Prompt 模板:3 種推薦的對話模板
- 🎯 常見情境組合:3 個完整的使用情境範例
- 📋 完整技能目錄:27 個 skills 分類清單
- 📊 Skills 優化狀態:Keywords 整合、預期效果說明
使用方式:
# 方法 1:複製為參考檔(推薦) cp SKILLS_QUICK_REFERENCE.md /your-project/SKILLS_QUICK_REFERENCE.md # 方法 2:整合到既有文件 # 如果專案已有類似的參考文件,建議手動將內容整合進去
👉 為什麼需要這個指南?
雖然總覽 skills (dotnet-testing 和 dotnet-testing-advanced) 提供智能導航,但快速參考指南能:
- ✅ 快速查詢:不確定用哪個 skill 時立即找到答案
- ✅ 範例 Prompt:提供可直接複製使用的對話範例
- ✅ 情境組合:展示實際的多 skill 搭配使用案例
- ✅ 降低學習門檻:不需記住所有 skill 名稱
技能清單
🎯 總覽技能 (2 個) - 新增!
NEW! 兩個總覽 skills 提供智能導航,當您不確定使用哪個技能時,它們會自動分析需求並推薦適合的技能組合。
| 技能 | 說明 | 何時使用 |
|------|------|---------|
| dotnet-testing | 基礎測試技能總覽與引導中心 | 詢問「如何寫 .NET 測試」、「測試入門」等一般性問題時自動觸發 |
| dotnet-testing-advanced | 進階測試技能總覽與引導中心 | 詢問「整合測試」、「API 測試」、「微服務測試」等進階需求時自動觸發 |
總覽 skills 的價值:
- ✅ 智能推薦:根據您的具體需求,推薦 1-4 個最適合的子技能組合
- ✅ 學習路徑:提供循序漸進的學習建議(新手路徑、進階路徑)
- ✅ 決策支援:透過決策樹快速找到需要的技能
- ✅ 範例導向:每個任務都有完整的提示詞範例
基礎技能 (19 個)
| 技能 | 說明 |
|------|------|
| dotnet-testing-unit-test-fundamentals | FIRST 原則、3A Pattern、測試金字塔 |
| dotnet-testing-test-naming-conventions | 三段式命名法、中文命名建議 |
| dotnet-testing-xunit-project-setup | xUnit 專案結構、配置、套件管理 |
| dotnet-testing-awesome-assertions-guide | FluentAssertions 流暢斷言 |
| dotnet-testing-complex-object-comparison | 深層物件比對技巧 |
| dotnet-testing-code-coverage-analysis | Coverlet 覆蓋率分析與報告 |
| dotnet-testing-nsubstitute-mocking | Mock/Stub/Spy 測試替身 |
| dotnet-testing-test-output-logging | ITestOutputHelper 與 ILogger 整合 |
| dotnet-testing-private-internal-testing | Private/Internal 成員測試策略 |
| dotnet-testing-fluentvalidation-testing | FluentValidation 驗證器測試 |
| 技能 | 說明 |
|------|------|
| dotnet-testing-datetime-testing-timeprovider | TimeProvider 時間抽象化 |
| dotnet-testing-filesystem-testing-abstractions | System.IO.Abstractions 檔案系統測試 |
| 技能 | 說明 |
|------|------|
| dotnet-testing-test-data-builder-pattern | 手動 Builder Pattern |
| dotnet-testing-autofixture-basics | AutoFixture 基礎與匿名測試資料 |
| dotnet-testing-autofixture-customization | AutoFixture 自訂化策略 |
| dotnet-testing-autodata-xunit-integration | AutoData 與 xUnit Theory 整合 |
| dotnet-testing-autofixture-nsubstitute-integration | AutoFixture + NSubstitute 自動模擬 |
| dotnet-testing-bogus-fake-data | Bogus 擬真資料產生 |
| dotnet-testing-autofixture-bogus-integration | AutoFixture 與 Bogus 整合 |
進階技能 (8 個)
| 技能 | 說明 |
|------|------|
| dotnet-testing-advanced-aspnet-integration-testing | WebApplicationFactory 整合測試 |
| dotnet-testing-advanced-testcontainers-database | PostgreSQL/MSSQL 容器化測試 |
| dotnet-testing-advanced-testcontainers-nosql | MongoDB/Redis 容器化測試 |
| dotnet-testing-advanced-webapi-integration-testing | WebAPI 完整整合測試流程 |
| dotnet-testing-advanced-aspire-testing | .NET Aspire Testing 框架 |
| 技能 | 說明 |
|------|------|
| dotnet-testing-advanced-xunit-upgrade-guide | xUnit 2.9.x → 3.x 升級指南 |
| dotnet-testing-advanced-tunit-fundamentals | TUnit 新世代測試框架入門 |
| dotnet-testing-advanced-tunit-advanced | TUnit 進階應用 |
使用範例
設定完成後,您只需要自然地對話:
👤:幫我建立一個 xUnit 測試專案 🤖:[自動載入 dotnet-testing-xunit-project-setup 技能] 我將協助您建立標準的 xUnit 測試專案結構... 1. 建立專案檔案 2. 配置必要套件 3. 設定測試執行環境
👤:為這個 Service 寫單元測試,它有依賴需要 Mock 🤖:[自動載入 dotnet-testing-unit-test-fundamentals + dotnet-testing-nsubstitute-mocking 技能] 根據測試最佳實踐,我將建立符合 3A Pattern 的測試...
更多使用情境請參考 完整使用手冊。
學習資源
原始內容
這些 Agent Skills 是從以下內容提煉而成:
-
📖 iThome 鐵人賽系列文章:老派軟體工程師的測試修練 - 30 天挑戰
🏆 2025 iThome 鐵人賽 Software Development 組冠軍 -
💻 完整範例程式碼:[30Days_in_Testing_Samples](
优点
- 涵蓋各種測試場景的全面技能集。
- 支援 GitHub Copilot 和 Claude 等多個平台。
- 包含詳細的文檔和範例。
缺点
- 可能需要對 .NET 測試框架有一定了解。
- 對初學者來說,安裝過程可能較為複雜。
- 僅限於 .NET 生態系統。
相关技能
免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。
版权归原作者所有 kevintsengtw.
