ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

dotnet/skills 测试插件全景图:25+ 测试技能如何一站式覆盖测试执行、生成与质量审计

dotnet/skills 测试插件全景图:25+ 测试技能如何一站式覆盖测试执行、生成与质量审计 dotnet/skills 测试插件全景图25 测试技能如何一站式覆盖测试执行、生成与质量审计【免费下载链接】skillsRepository for skills to assist AI coding agents with .NET and C#项目地址: https://gitcode.com/GitHub_Trending/skills17/skills如果你在用 AI 编码助手写 C# 和 .NET 代码那么dotnet/skills仓库中的dotnet-test测试插件值得完整了解一遍它是 .NET 团队精选的AI 技能Skills与智能体Agents合集为 AI 编码代理提供 25 个开箱即用的测试技能覆盖测试执行、测试生成、质量审计、覆盖率风险、可测试性改进五大场景并且多项技能支持 Python、Java、Go、Rust 等多语言。本文用通俗的方式带你看完这张全景图。dotnet-test 插件是什么简单来说每个技能是一份写给 AI 代理的专业指南一个SKILL.md文件当你对 AI 说帮我跑一下测试或给这个类写单测时AI 会自动加载对应技能按照专家流程操作而不是瞎猜。该插件由 plugins/dotnet-test/plugin.json 定义当前版本 0.2.18包含22 个技能 10 个智能体姊妹插件 plugins/dotnet-test-migration/ 再提供 5 个测试框架迁移技能两者合计 27 个技能这就是25 的由来。官方说明在 plugins/dotnet-test/README.md建议配合阅读。测试执行让 AI 给出最正确的跑测命令技能解决什么问题run-tests自动识别项目的测试平台/框架给出兼容仓库的精确dotnet test命令mtp-hot-reload基于 Microsoft.Testing.Platform 热重载改代码直接重跑、无需重新构建platform-detection判断项目是 SDK 风格还是经典项目、用 VSTest 还是 MTP、框架是 MSTest/xUnit/NUnit/TUnitfilter-syntax各框架测试过滤语法参考按类、按 Trait、按查询表达式亮点在于经典老项目兼容packages.configMSTest.exe的老式项目不会被 AI 强行现代化而是保留仓库原有跑测方式。技能定义见 plugins/dotnet-test/skills/run-tests/SKILL.md。测试生成多智能体流水线研发→计划→实现→构建→测试→修复→Lint核心技能code-testing-agent是仓库里最复杂的技能它不是写个 for 循环补测试而是一条 7 阶段流水线由 8 个子智能体协作完成见 plugins/dotnet-test/agents/researcher分析代码库结构与可测试性planner制定分阶段测试计划⚙️implementer实现一个阶段并派生builder / tester / fixer / linter四个工人并行构建、跑测、修错、格式化配套技能还有scaffold-dotnet-test-project测试项目不存在或接线坏了自动创建并修复writing-mstest-testsMSTest 3.x/4.x 版本兼容写法新老项目都能用find-untested-sources扫描出尚未被测试覆盖的源文件技能说明在 plugins/dotnet-test/skills/code-testing-agent/SKILL.md且它同时支持 C#、Python、TypeScript、Java、Go 等 12 种语言。质量审计6 个跨语言技能 1 个审计智能体这组技能是**多语言polyglot**的靠 plugins/dotnet-test/skills/test-analysis-extensions/ 里的按语言参考文件自动适配框架差异技能一句话说明test-anti-patterns快速实用扫描常见测试质量问题 严重度排序test-smell-detection基于学术测试异味分类的深度审计19 种异味assertion-quality找出断言太少、几乎没验证任何东西的浅层测试test-gap-analysis用伪变异分析回答哪些生产代码改动现有测试根本发现不了test-tagging为测试打标准标签smoke、regression、boundary、critical-path 等grade-tests给一组测试方法逐个打 A–F 分数产出可直接贴进 PR 评论的表格想要全面体检时直接调用test-quality-auditor智能体plugins/dotnet-test/agents/test-quality-auditor.agent.md它会串联多个技能跑完整审计流水线并可一键交接给 code-testing-generator 补齐缺失测试。覆盖率与可测试性.NET 专属加分项coverage-analysiscrap-score收集代码覆盖率并计算 CRAP 分变更风险反模式分定位改这里最容易出事的热区配套 PowerShell 脚本在 plugins/dotnet-test/skills/coverage-analysis/scripts/detect-static-dependencies扫描DateTime.Now、File.*、HttpClient等难测试的静态依赖generate-testability-wrappers/migrate-static-to-wrapper生成包装接口并批量把静态调用改为构造函数注入testability-obstacle逐个解决环境依赖阻塞用固定/内存实现让行为可测这条检测 → 生成包装 → 迁移调用点链路由testability-migration智能体端到端编排。测试技能如何被评测仓库自带考试系统这个仓库最有意思的一点每个技能上线前都要通过自动化评测。仓库内置了完整的评测基础设施每个技能对应一份评测定义如 tests/dotnet-test/run-tests/eval.yaml内含多个考题stimuli与夹具项目评测引擎会同时跑无技能基线 / 仅本技能 / 完整插件三个变体用成对比较裁判判定技能是否真的带来提升统计上要求至少 5 个独立考题、显著性 p ≤ 0.05、且净胜率 ≥ 20% 才算Improved防止刷分和噪声评测通过与否会直接以 PR 评论形式展示例如这张就是 dotnet/skills 测试插件的技能评测结果报告遇到边缘情况裁判超时、结论不成立等时报告还会展开每个技能的逐场景明细评测架构与判定规则的完整文档见 eng/vally-adapter/README.md 和 eng/vally-adapter/InvestigatingResults.md。如何快速上手 dotnet-test 测试插件在 Copilot CLI / Claude Code 中添加市场并安装插件/plugin install dotnet-testdotnet-agent-skills重启后输入/skills查看全部技能、/agents查看智能体用自然语言触发即可例如运行这个项目的测试、给 XX 类生成单元测试、审计这套测试的质量前置条件.NET 专属技能安装 .NET SDK项目已使用 MSTest / xUnit / NUnit / TUnit 中任一框架。多语言技能只需具备对应语言的测试运行时即可。路径速查表内容路径插件总说明plugins/dotnet-test/README.md插件清单plugins/dotnet-test/plugin.json技能目录plugins/dotnet-test/skills/智能体目录plugins/dotnet-test/agents/框架迁移技能plugins/dotnet-test-migration/评测定义tests/dotnet-test/评测基础设施文档eng/vally-adapter/README.md项目总览README.md小结dotnet-test不是一个写测试的代码生成器而是一套把测试全流程——跑测、生成、审计、覆盖率、可测试性——都沉淀成 AI 可执行标准的技能库并配有统计严谨的自评测机制。如果你的 AI 编码代理要长期处理 .NET 项目这是目前最完整的测试技能全景图。【免费下载链接】skillsRepository for skills to assist AI coding agents with .NET and C#项目地址: https://gitcode.com/GitHub_Trending/skills17/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进