1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | dotnet-test(所属仓库自述名称为 “.NET Agent Skills”,与正式名称不一致,故单列记录) | GitHub API / 仓库 README |
| 作者/维护者 | Microsoft(dotnet/skills 官方仓库,.NET 团队维护) |
GitHub API |
| 来源链接 | https://github.com/dotnet/skills/tree/main/plugins/dotnet-test | — |
| 许可证 | MIT License | GitHub API |
| GitHub Stars / Forks | 所属仓库 4885★ / 359 forks(注:该数字属整个技能合集,不代表本插件个体热度,仅供了解所属仓库规模) | GitHub API |
| 最新版本 | 插件自带 version.json,当前版本号 0.2.0;本插件目录近百次提交持续至 2026-08-03 |
仓库文件 / commit 历史 |
| 安装方式 | Claude Code / Codex CLI 插件市场一条命令安装(见第 10 章) | 仓库 README |
2. 功能介绍与亮点
dotnet-test 是微软 .NET 团队官方出品的插件,属于 dotnet/skills 技能合集,专攻“测试”这一件事,打包 20 个细粒度技能与 10 个编排 agent:
- 测试执行(.NET):通过
dotnet test自动侦测平台与框架(MSTest / xUnit / NUnit / TUnit),支持 MTP 热重载加快改测试→跑测试的迭代 - 测试生成(多语言):
code-testing-generator系列 agent 走“调研仓库约定→规划→实现→质量校验”的多阶段流程,支持 C#、Python、TypeScript、Java、Go、Ruby、Rust、Swift、Kotlin、PowerShell、C++ 等 12 种以上语言 - 测试质量分析(多语言):识别测试反模式与坏味道、评估断言质量、找覆盖缺口,并给测试打 A–F 等级
- 覆盖率与风险(.NET):采集代码覆盖率、计算 CRAP(变更风险反模式)分数,定位高风险代码热点
- 可测性改造(.NET):识别难以测试的静态依赖,生成可注入的包装接口并迁移调用点
亮点:微软官方 .NET 博客专文介绍其中的 code-testing-generator,给出量化基准——152 个任务上完成率 92.1%(对照 stock Copilot 的 78.9%),在表述模糊的任务子集上失败率降低 63%;每个 SKILL.md 均明确规定交付顺序(如覆盖率分析必须先给出摘要再生成可选报告),避免 agent 抢跑或漏项。
3. 适用场景
固定分类:工程效率与代码质量
- 需要 agent 按仓库既有约定自动生成单元测试、且不想为“该测什么、用什么框架、测试放哪”反复澄清的开发者
- 想知道现有测试套件里哪些是“坏味道”(如过度 mock、断言过弱)、需要量化质量分的团队
- 需要定位代码库里覆盖率低且变更风险高的方法、决定优先给哪里补测试的 .NET 团队
- 遇到难以测试的静态依赖(如静态类直接调用),希望 agent 生成可注入包装接口而非手工重构的 .NET 开发者
4. 跨 Agent 兼容性
- Claude Code:原生支持——官方文档给出专门安装步骤,
/plugin marketplace add dotnet/skills后/plugin install dotnet-test@dotnet-agent-skills一条命令安装 - Codex:原生支持——仓库自带 Codex 插件市场清单,README 专辟 “Codex CLI” 章节给出对应安装命令,且技能遵循 agentskills.io 开放标准并注明与 OpenAI Codex 兼容
- OpenClaw:未验证——官方材料未提及,技能遵循开放的 SKILL.md 目录结构,理论上可接入,但未见官方或第三方明确验证
- Hermes Agent:未验证——同上,官方材料未提及
(仅基于已抓取材料判断,未为兼容性单独发起搜索)
5. 推荐理由
写测试是“看起来简单、实则容易应付”的工作——agent 很容易生成能跑但断言无力、覆盖率虚高的测试。这组技能由 .NET 团队自己出品,把“先调研仓库约定、再分阶段生成、最后强制质量校验”的纪律打包成可执行流程,并配有覆盖率、CRAP 风险分数、坏味道检测等量化分析能力,而不只是“帮你把测试写出来”。官方博客给出的完成率与失败率对比数据,是少见的、可复现的效果佐证。对日常需要 agent 协助补测试、审计测试质量的团队,这是一条比自建测试规范更省心的路径。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 微软 .NET 团队官方出品;所属仓库 4885 stars / 359 forks 为整体数据,不代表本插件个体热度,但插件目录自身近百次提交持续至 2026-08-03,且有官方博客专文配合量化基准发布,社区与官方投入均可验证 |
| 可用性 | 9 | Claude Code / Codex 均一条命令安装;20 个 SKILL.md 均含清晰的阶段流程与交付顺序约束;插件目录提交极为频繁(含 2026-08-03 当日提交);无付费依赖 |
| 安全性 | 8 | 见下方安全检查清单 |
| 综合评分 | 8.67 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令执行 | 有——dotnet test 执行测试、随附 PowerShell 脚本(如计算 CRAP 分数、提取方法覆盖率),范围限于本地 .NET 项目的测试与分析流程,用途明确可解释 |
| ② 运行时联网外发 | 无实质数据外发——仅涉及标准 .NET 工作流中的 NuGet/工具包安装,不涉及向第三方发送项目数据 |
| ③ API key/凭据 | 不需要——纯本地代码分析与测试执行,不要求配置任何密钥 |
| ④ 可疑指令 | 未见——抽查的 coverage-analysis 等 SKILL.md 全文审阅未发现越权指令或 prompt injection 迹象 |
| ⑤ 作者/组织信誉 | 微软官方 .NET 团队(dotnet 官方组织账号),配套公告发布于 .NET 官方博客 |
| ⑥ License | MIT,清晰明确 |
| ⑦ 维护时间 | 插件目录最近一次提交为 2026-08-03,维护频率极高 |
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 差异点 |
|---|---|---|
| dotnet-test(本推荐) | 微软官方:.NET 测试执行 + 多语言测试生成 + 测试质量分析 + 覆盖率/CRAP 风险评估一体化 | 覆盖“生成—执行—分析—改造可测性”全链路,且多语言测试生成与坏味道检测不限于 .NET;官方给出量化效果基准 |
| dotnet-aspnetcore(同仓库姊妹插件) | 微软官方:ASP.NET Core Web API 端点、可观测性接入、Blazor 迁移等具体编码规范 | 聚焦“怎么写业务代码”,不涉及测试生成或质量分析,与 dotnet-test 互补而非重叠 |
| test-driven-development(addyosmani 出品) | 通用:把“先写失败测试再实现”的 TDD 纪律封装为技能,语言无关、颗粒度粗 | 教的是开发流程习惯,不提供覆盖率/CRAP 分数等量化分析能力,也不含 .NET 专属的静态依赖改造 |
| Swift-Testing-Agent-Skill(AvdLee 出品) | 个人开发者出品:专攻 Swift Testing 框架,帮助从 XCTest 迁移、改进测试架构 | 单语言、单框架深耕,覆盖面窄于 dotnet-test 的多语言测试生成,但对 Swift 生态的框架细节覆盖更深 |
差异化总结:以上均为聚焦“测试”这件事的技能,dotnet-test 的特点是把测试生命周期的四个阶段(生成、执行、分析、改造)打包为一体化流程,且测试生成与质量分析能力跨 12 种以上语言,而 dotnet-aspnetcore、test-driven-development、Swift-Testing-Agent-Skill 分别聚焦编码规范、流程纪律或单一语言框架,颗粒度与覆盖面均不相同。
8. 用户评价
该技能所属的 dotnet/skills 项目已有公开可查的第三方反馈:微软 .NET 官方博客的公告文章给出了针对 code-testing-generator(dotnet-test 插件内的核心 agent)的量化基准测试结果——152 个任务上完成率 92.1%(对照 stock GitHub Copilot 的 78.9%),在表述模糊的任务子集上失败数减少 63%。该数据来自官方发布的基准测试,而非第三方用户的主观评价;目前未找到独立于官方渠道之外的第三方用户评价。
9. 其他补充
dotnet/skills 仓库还包含另外 14 个插件,覆盖 ASP.NET Core Web 开发、EF Core 数据访问、MSBuild、NuGet、.NET 升级迁移、MAUI、AI/ML 集成等场景,可按需单独安装,不必整包引入。
10. 安装使用方式
- Claude Code:
/plugin marketplace add dotnet/skills,再执行/plugin install dotnet-test@dotnet-agent-skills,安装后重启会话以加载新插件 - Codex CLI:
codex plugin marketplace add dotnet/skills,进入插件面板浏览dotnet-agent-skills标签页安装 - 单个技能安装:
skill-installer install https://github.com/dotnet/skills/tree/main/plugins/dotnet-test/skills/<skill-name>可只装某一个具体技能(如仅要 coverage-analysis)而不装整个插件 - 手动方式:clone 仓库后把
plugins/dotnet-test子目录复制到自己项目的技能目录
11. 注意事项
- 与 OpenClaw、Hermes Agent 的兼容性未经官方材料验证,实际效果建议自行测试
- 覆盖率、CRAP 分数、可测性改造等能力仅限 .NET 项目;多语言测试生成与质量分析(坏味道检测、断言评估)则不限语言,使用前建议先看具体 SKILL.md 区分适用范围
- 插件目前无独立语义化版本号体系,长期跟踪更新时建议以 commit 历史为准