https://github.com/kevintsengtw/dotnet-testing-agent-vscode-extensions
dotnet-testing-agent 工具包
https://github.com/kevintsengtw/dotnet-testing-agent-vscode-extensions
Last synced: 4 days ago
JSON representation
dotnet-testing-agent 工具包
- Host: GitHub
- URL: https://github.com/kevintsengtw/dotnet-testing-agent-vscode-extensions
- Owner: kevintsengtw
- Created: 2026-05-13T01:05:11.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-10T02:13:03.000Z (6 days ago)
- Last Synced: 2026-06-10T04:09:51.665Z (6 days ago)
- Homepage:
- Size: 354 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dotnet Testing Agent — VS Code Extension
> 一鍵設定 AI 輔助 .NET 測試開發環境。支援 **Claude Code** 與 **GitHub Copilot** 兩種模式。
[](https://github.com/kevintsengtw/dotnet-testing-agent-vscode-extensions/releases)


> 📦 本頁為 **發布頁**,提供 `.vsix` 安裝檔與各版本安裝文件下載;不含原始碼。

---
## 簡介
**dotnet Testing Agent** 是一個專為 .NET 開發人員設計的 VS Code Extension,讓你**一鍵**完成 AI 輔助測試開發環境設定。
在沒有這個 Extension 之前,要讓 AI Coding Agent 具備 .NET 測試的領域知識,得手動下載 Skills 定義檔、部署 Orchestration、(Copilot 模式還要)安裝 `mcp-local-rag` 並建立 RAG 索引。dotnet Testing Agent 把這些全部自動化——**安裝後執行一個指令即可開始**撰寫 AI 輔助的 .NET 測試。
支援兩種 AI 工具,以 **Claude** 為主、**GitHub Copilot** 並行:
- **Claude 模式**:搭配 VS Code 的 Claude 擴充套件(亦支援 Claude Code CLI),部署至 `.claude/`,**免 RAG**
- **Copilot 模式**:搭配 GitHub Copilot Chat(Agent 模式),部署至 `.github/`,含 RAG 精準搜尋
測試框架約束:**AwesomeAssertions**(非 FluentAssertions)、**NSubstitute**(非 Moq)。
自 **v0.2.0** 起,兩種模式整合為**單一 extension**,安裝一份 `.vsix` 即可同時使用,於 Activity Bar 的「dotnet-testing-agent 工具包」面板中切換。
---
## 兩種模式
| | Claude 模式 | Copilot 模式 |
| --- | --- | --- |
| 搭配的 AI 工具 | Claude Code(VS Code 擴充套件 / CLI) | GitHub Copilot Chat(Agent 模式) |
| 部署路徑 | `.claude/`(skills、agents、hooks) | `.github/`(skills、agents) |
| RAG 索引 | ❌ 不需要 | ✅ 需要(mcp-local-rag + LanceDB) |
| 初始化指令 | `初始化 Claude 模式` | `初始化 .NET Testing Agent` |
| 安裝步驟 | 4 步驟 | 6 步驟 |
| Orchestration 來源 | [dotnet-testing-agent-orchestration-claude](https://github.com/kevintsengtw/dotnet-testing-agent-orchestration-claude) | [dotnet-testing-agent-orchestration](https://github.com/kevintsengtw/dotnet-testing-agent-orchestration) |
兩種模式部署路徑與 manifest 完全獨立,互不干擾,可只用其中一種或兩種並用。兩者皆使用共用的 [dotnet-testing-agent-skills](https://github.com/kevintsengtw/dotnet-testing-agent-skills);差異在於 Orchestration 定義(Agents / Hooks 等)各自來自上表對應的 repo。
---
## 功能特色
### Claude 模式
- **單一面板整合**:在「dotnet-testing-agent 工具包」中提供獨立的「Claude 模式」面板,與 Copilot 模式並存、互不干擾
- **一鍵部署**:自動部署 Skills(`.claude/skills/`)、16 個 Agents(`.claude/agents/`)、Hooks(`.claude/hooks/`)
- **搭配 Claude 擴充套件**:優先支援 VS Code 的 Claude 擴充套件,亦支援 Claude Code CLI
- **無需 RAG**:不需要安裝 `mcp-local-rag`,也不需要建立本地索引庫
- **環境診斷**:5 項環境檢查(Node.js、Skills/Agents/Hooks 目錄、Claude Code CLI),失敗項目可自動重新部署修復
### Copilot 模式
- **一鍵初始化**:自動執行 6 個步驟,完成從 Skills 部署到 MCP Server 啟動的全部工作;可選擇線上(HuggingFace)或離線(本地 zip)安裝 embedding model
- **內建 Skills & Agents**:隨 Extension 打包 30 個 .NET 測試 Skills 與 20 個 Orchestration Agent 定義,不需網路下載
- **Online 優先部署**:init 時優先從 GitHub Release 抓取最新版本;網路不可用時自動退回內建版本
- **RAG 精準搜尋**:透過 `mcp-local-rag` 建立本地索引庫,讓 Copilot Chat 能精準引用 Skills 內容
- **RAG 索引驗證**:4 步驟自動驗證索引完整性(DB 存在性、文件數量、索引範圍、Smoke test)
- **環境診斷**:7 項環境檢查,發現問題自動提供修復選項
- **版本更新通知**:init 完成後自動偵測 Skills / Orchestration 是否有新版本
---
## 前置需求
| 項目 | 最低版本 |
| --- | --- |
| VS Code | 1.85.0 |
| Node.js | 18.0.0 |
| 作業系統 | Windows 10/11、macOS(皆完整支援) |
依使用模式擇一:
| 模式 | 額外需求 |
| --- | --- |
| Claude 模式 | Claude Code(優先支援 VS Code 的 Claude 擴充套件,亦支援 Claude Code CLI) |
| Copilot 模式 | GitHub Copilot Chat(最新版、已登入) |
---
## 安裝方式
1. 前往 [Releases](https://github.com/kevintsengtw/dotnet-testing-agent-vscode-extensions/releases) 下載最新版 `dotnet-testing-agent-<版本>.vsix`
2. 在 VS Code 中安裝:
**方法一:Extensions 面板**
- 開啟 Extensions 面板(Windows:`Ctrl+Shift+X`;macOS:`Cmd+Shift+X`)→ 右上角 `...` → **Install from VSIX...** → 選擇下載的 `.vsix`
**方法二:命令列**
```bash
code --install-extension dotnet-testing-agent-<版本>.vsix
```
---
## 更新方式
本 Extension 以 `.vsix` 形式發佈於 GitHub Releases,**不走 VS Code Marketplace,因此 VS Code 不會自動更新**,需手動更新。
啟動約 10 秒後會自動檢查是否有新版本,若有會跳出通知,點「前往下載」即開啟 Releases 頁面(可用設定 `dta.checkUpdatesOnStartup` 關閉)。
手動更新(例如 v0.2.0 → v0.3.0):
1. 前往 [Releases](https://github.com/kevintsengtw/dotnet-testing-agent-vscode-extensions/releases) 下載新版 `dotnet-testing-agent-<版本>.vsix`
2. 以與安裝相同的方式安裝即可,**不需要先解除安裝舊版**,VS Code 會就地覆蓋:
- **面板**:Extensions(Windows:`Ctrl+Shift+X`;macOS:`Cmd+Shift+X`)→ `...` → **Install from VSIX...** → 選擇新檔
- **命令列**:`code --install-extension dotnet-testing-agent-<版本>.vsix`
3. 依提示 **Reload Window**(重新載入視窗)讓新版生效。
4. 若新版更新了內建 Skills / Agents 或部署邏輯,建議重新執行一次初始化指令以同步最新內容(重跑安全,會以 QuickPick 確認是否覆蓋)。
---
## 快速開始
安裝後,Activity Bar 會出現「dotnet-testing-agent 工具包」圖示,側邊欄含 **Claude 模式** 與 **Copilot 模式** 兩個面板。依需求初始化對應模式。
> 快捷鍵對照:命令面板 — Windows `Ctrl+Shift+P`、macOS `Cmd+Shift+P`;Copilot Chat — Windows `Ctrl+Alt+I`、macOS `Cmd+Ctrl+I`。
### Claude 模式
1. 開啟命令面板(Windows:`Ctrl+Shift+P`;macOS:`Cmd+Shift+P`)→ 執行 `dotnet-testing 測試工作流程: 初始化 Claude 模式`
2. 等待 4 個步驟完成(部署 Skills / Agents / Hooks 至 `.claude/`)
完成後可在側邊欄查看部署狀態與環境診斷:

Claude 模式部署的 Agents 與 Hooks 清單

### Copilot 模式
1. 開啟命令面板(Windows:`Ctrl+Shift+P`;macOS:`Cmd+Shift+P`)→ 執行 `dotnet-testing 測試工作流程: 初始化 .NET Testing Agent`
2. 選擇安裝模式(線上 / 離線)

3. 等待 6 個步驟完成
4. 開啟 Copilot Chat(Windows:`Ctrl+Alt+I`;macOS:`Cmd+Ctrl+I`)→ 切換 **Agent** 模式 → 點選工具圖示(🔨)→ 確認 `dotnet-testing-skills` 已啟用
完成後可在側邊欄執行環境診斷確認:

驗證 RAG 索引狀態

> **MCP Server 說明**:`dotnet-testing-skills` 不會出現在 Extensions 面板的「MCP 伺服器」區段——透過 Extension 程式碼註冊的 MCP Server 只在 Copilot Chat 工具清單中顯示。重新開啟 VS Code 後,只要工作區已初始化,Extension 會自動重新啟動 MCP Server,不需再次初始化。
各版本的詳細安裝指南見 [`docs/`](docs/) 目錄。
---
## 指令說明
### Claude 模式
| 指令 | 說明 |
| --- | --- |
| 初始化 Claude 模式 | 部署 Skills、16 個 Agents、Hooks,寫入 `manifest-claude.json` |
| Claude 模式環境診斷 | 執行 5 項環境檢查(Node.js、Skills/Agents/Hooks 目錄、Claude Code CLI) |
### Copilot 模式
| 指令 | 說明 |
| --- | --- |
| 初始化 .NET Testing Agent | 部署 Skills 與 Agents、安裝 mcp-local-rag、建立 RAG 索引、啟動 MCP Server |
| 環境診斷 | 執行 7 項環境檢查,失敗項目提供自動修復選項 |
| 檢視 Testing Agent 狀態 | 在 Sidebar 顯示各元件的安裝狀態 |
| 重建 RAG 索引 | 重新 ingest Skills 內容至 LanceDB 索引庫 |
| 索引狀態檢查 | 執行 4 步驟驗證確認 RAG 索引完整性 |
---
## Sidebar 面板
點選 Activity Bar 的「dotnet-testing-agent 工具包」圖示,側邊欄含兩個可折疊面板:
### Claude 模式面板(3 分頁)
- **總覽**:顯示初始化狀態與安裝時間;提供初始化與環境診斷快速操作
- **Skills**:`.claude/skills/` 部署詳情
- **Agents**:`.claude/agents/` 部署詳情(目標 16 個)
### Copilot 模式面板(5 分頁)
- **總覽**:顯示 Skills、Orchestration、RAG 索引的安裝版本與狀態;提供初始化、重建索引、環境診斷快速操作
- **Skills**:Skills 部署詳情與 GitHub Release 說明
- **Orchestration**:Orchestration Agent 部署詳情與 GitHub Release 說明
- **RAG 索引**:索引驗證結果(DB 存在性、documentCount、索引範圍、Smoke test)
- **環境診斷**:7 項診斷結果詳細列表
---
## 初始化後的目錄結構
### Claude 模式
```plaintext
/
├── .claude/
│ ├── skills/ ← Skills 定義(共用 + orchestrator 專用)
│ ├── agents/ ← 16 個 Claude Agent 定義
│ └── hooks/ ← shell scripts + install-hooks.js(寫入 .claude/settings.json)
└── .dotnet-testing-agent/
└── manifest-claude.json ← Claude 模式安裝記錄(不提交 git)
```
### Copilot 模式
```plaintext
/
├── .github/
│ ├── skills/ ← 30 個 Skills 定義(含 dotnet-test)
│ └── agents/ ← 20 個 Orchestration Agent 定義
├── .mcp/
│ ├── dotnet-testing-skills/ ← LanceDB RAG 索引庫(本地,不提交 git)
│ └── cache/ ← 離線模式 embedding model 快取(不提交 git)
└── .dotnet-testing-agent/
└── manifest.json ← 安裝記錄(不提交 git)
```
> `.mcp/`、`.claude/` 相關產物與 `.dotnet-testing-agent/` 會在初始化後自動加入 `.gitignore`。
---
## 內建 Skills
總覽 Skills(2 個)
| Skill 名稱 | 說明 |
| --- | --- |
| `dotnet-testing` | 基礎測試技能總覽,包含 19 個子技能的入口 |
| `dotnet-testing-advanced` | 進階測試技能總覽,包含 8 個子技能的入口 |
基礎 & 框架類(10 個)
| Skill 名稱 | 說明 |
| --- | --- |
| `dotnet-test` | .NET 測試執行指南(含 blame mode、平行執行、theory 過濾) |
| `dotnet-testing-unit-test-fundamentals` | 單元測試基礎概念與實踐 |
| `dotnet-testing-xunit-project-setup` | xUnit 測試專案建立與設定 |
| `dotnet-testing-test-naming-conventions` | 測試命名慣例指南 |
| `dotnet-testing-test-output-logging` | 測試輸出與日誌記錄 |
| `dotnet-testing-code-coverage-analysis` | 程式碼覆蓋率分析 |
| `dotnet-testing-private-internal-testing` | 測試私有與內部成員 |
| `dotnet-testing-advanced-tunit-fundamentals` | TUnit 新世代測試框架入門 |
| `dotnet-testing-advanced-tunit-advanced` | TUnit 進階使用技巧 |
| `dotnet-testing-advanced-xunit-upgrade-guide` | xUnit v2 升級至 v3 指南 |
工具 & 模式類(13 個)
| Skill 名稱 | 說明 |
| --- | --- |
| `dotnet-testing-nsubstitute-mocking` | NSubstitute Mock 框架使用指南 |
| `dotnet-testing-awesome-assertions-guide` | AwesomeAssertions 斷言庫使用指南 |
| `dotnet-testing-autofixture-basics` | AutoFixture 基礎使用 |
| `dotnet-testing-autofixture-customization` | AutoFixture 客製化設定 |
| `dotnet-testing-autofixture-bogus-integration` | AutoFixture 整合 Bogus |
| `dotnet-testing-autofixture-nsubstitute-integration` | AutoFixture 整合 NSubstitute |
| `dotnet-testing-autodata-xunit-integration` | AutoData 與 xUnit 整合 |
| `dotnet-testing-bogus-fake-data` | Bogus 假資料產生 |
| `dotnet-testing-test-data-builder-pattern` | Test Data Builder 設計模式 |
| `dotnet-testing-complex-object-comparison` | 複雜物件比較技巧 |
| `dotnet-testing-datetime-testing-timeprovider` | 日期時間測試與 TimeProvider |
| `dotnet-testing-filesystem-testing-abstractions` | 檔案系統測試抽象化 |
| `dotnet-testing-fluentvalidation-testing` | FluentValidation 驗證測試 |
整合測試類(5 個)
| Skill 名稱 | 說明 |
| --- | --- |
| `dotnet-testing-advanced-aspnet-integration-testing` | ASP.NET Core 整合測試 |
| `dotnet-testing-advanced-webapi-integration-testing` | Web API 整合測試 |
| `dotnet-testing-advanced-aspire-testing` | .NET Aspire 測試 |
| `dotnet-testing-advanced-testcontainers-database` | Testcontainers 資料庫測試 |
| `dotnet-testing-advanced-testcontainers-nosql` | Testcontainers NoSQL 測試 |
---
## 內建 Orchestration Agents
供 AI Coding Agent 呼叫的測試工作流程定義,共 4 套、每套 5 個角色(orchestrator / analyzer / writer / reviewer / executor)。Copilot 模式部署至 `.github/agents/`,Claude 模式部署至 `.claude/agents/`。
基礎測試套件
- `dotnet-testing-orchestrator`
- `dotnet-testing-analyzer`
- `dotnet-testing-writer`
- `dotnet-testing-reviewer`
- `dotnet-testing-executor`
進階 Aspire 測試套件
- `dotnet-testing-advanced-aspire-orchestrator`
- `dotnet-testing-advanced-aspire-analyzer`
- `dotnet-testing-advanced-aspire-writer`
- `dotnet-testing-advanced-aspire-reviewer`
- `dotnet-testing-advanced-aspire-executor`
進階整合測試套件
- `dotnet-testing-advanced-integration-orchestrator`
- `dotnet-testing-advanced-integration-analyzer`
- `dotnet-testing-advanced-integration-writer`
- `dotnet-testing-advanced-integration-reviewer`
- `dotnet-testing-advanced-integration-executor`
進階 TUnit 測試套件
- `dotnet-testing-advanced-tunit-orchestrator`
- `dotnet-testing-advanced-tunit-analyzer`
- `dotnet-testing-advanced-tunit-writer`
- `dotnet-testing-advanced-tunit-reviewer`
- `dotnet-testing-advanced-tunit-executor`
---
## Extension 設定
在 VS Code 設定(`Ctrl+,`)中搜尋 `dta` 即可找到所有設定項目:
| 設定鍵 | 類型 | 預設值 | 說明 |
| --- | --- | --- | --- |
| `dta.giteaUrl` | string | `""` | Release 伺服器 URL(留空使用 GitHub;可設為 Gitea 伺服器位址) |
| `dta.giteaRepo` | string | `""` | Release Repository 路徑,格式為 `owner/repo` |
| `dta.checkUpdatesOnStartup` | boolean | `true` | 啟動時自動檢查是否有新版 Extension |
| `dta.npmRegistry` | string | `""` | 自訂 npm registry(企業內部鏡像用) |
| `dta.ragDbPath` | string | `""` | 自訂 LanceDB 索引庫路徑(留空使用工作區預設路徑) |
| `dta.shellExecutable` | string | `""` | 執行 npm 指令的 shell 路徑 |
| `dta.skillsVersion` | string | `"latest"` | Skills 版本 tag(例如 `v2.4.1`);`"latest"` 自動抓取最新 release |
| `dta.orchVersion` | string | `"latest"` | Orchestration 版本 tag(例如 `v1.0.0`);`"latest"` 自動抓取最新 |
| `dta.mcpInstallMode` | string | `"online"` | Embedding model 安裝模式:`online`(HuggingFace 自動下載)或 `offline`(使用本地預先打包的 zip) |
| `dta.claude.skillsVersion` | string | `"latest"` | Claude 模式 Skills 版本 tag;`"latest"` 自動抓取最新 release |
---
## 相關專案
| Repo | 說明 |
| --- | --- |
| [dotnet-testing-agent-skills](https://github.com/kevintsengtw/dotnet-testing-agent-skills) | .NET 測試 Agent Skill 定義檔(兩種模式共用) |
| [dotnet-testing-agent-orchestration-claude](https://github.com/kevintsengtw/dotnet-testing-agent-orchestration-claude) | **Claude 模式**的 Orchestration 定義(skills / agents / hooks) |
| [dotnet-testing-agent-orchestration](https://github.com/kevintsengtw/dotnet-testing-agent-orchestration) | **Copilot 模式**的 Agent Orchestration 流程定義 |
---
## 授權
[MIT](LICENSE)