拓冰建站拓冰建站
首页 / 资讯中心 / 正文

dotnet/skills多智能体测试生成全解析:Research到Lint的7阶段流水线

dotnet/skills多智能体测试生成全解析Research到Lint的7阶段流水线【免费下载链接】skillsRepository for skills to assist AI coding agents with .NET and C#项目地址: https://gitcode.com/GitHub_Trending/skills17/skills本文带你完整解析 skills 仓库面向 .NET 与 C# 的 AI 编码代理技能库内置的多智能体测试生成流水线code-testing-agent从 Research调研到 Lint格式化8 个专职智能体分 7 个阶段协作自动产出可编译、能通过、可审计的单元测试。读完本文新手也能看懂这条 AI 测试生成流水线如何运转、如何调用并让它为你的项目生成高质量测试。多智能体测试生成是什么为什么需要它用 AI 写单元测试你是否遇到过这些坑编译不过—— AI 猜错了方法签名、参数个数跑起来就失败—— 期望值与真实行为不符最后被标记Skip蒙混过关断言太浅—— 只断言不为空把函数体清空测试照样通过skills 仓库的 code-testing-agent 技能正是为解决这些问题而生。它不让 AI一口吃成胖子而是把测试生成拆成7 阶段流水线由 8 个分工明确的智能体接力完成每个阶段都留下可核查的中间产物阶段智能体产出① Researchcode-testing-researcher.testagent/research.md调研文档② Plancode-testing-planner.testagent/plan.md分期计划③ Implementcode-testing-implementer测试文件④ Buildcode-testing-builder编译结果报告⑤ Testcode-testing-tester通过/失败报告⑥ Fixcode-testing-fixer修复后的代码⑦ Lintcode-testing-linter格式化后的代码默认测试质量准则80% 覆盖率目标、参数化策略、行为固定原则定义在 unit-test-generation.prompt.md。7阶段流水线全景从一句话需求到可审计报告整条流水线由 code-testing-generator总编排者驱动。当请求是项目级规模时它按三大步推进generator总编排者 ├── researcher → research.md ① 调研代码库 ├── planner → plan.md ② 制定分期计划 └── implementer每个阶段一次 ③ 编写测试 ├── builder ④ 编译 ├── tester ⑤ 运行测试 ├── fixer ⑥ 修复错误 └── linter ⑦ 格式化各阶段结束后总编排者还会执行全工作区构建 全量测试的最终验证并输出一张Requirement | Evidence需求 | 证据表格——用户提过的每一条要求都必须逐字引用、对应到具体的测试名称。报告可审计而不是一句已覆盖核心逻辑的笼统总结。阶段① Research先让 AI 做功课researcher 动笔写代码之前先回答五个问题项目用什么语言和测试框架—— MSTest / xUnit / NUnit / Jest / pytest 等自动识别测试范围是什么—— 只调研被请求的模块不扫整个仓库依赖图长什么样—— 找出叶子类型不依赖库内其他类型无需 mock 可直接测再由下往上分层测试怎么构建、怎么跑测试—— 记录两套命令迭代用的小范围命令 CI 验证用的全量命令已有多少测试—— 把已有测试文件分为 未覆盖 / 部分覆盖 / 充分 三档产出是一份标准化的调研文档.testagent/research.md包含按优先级排序的待测文件清单、构建/测试命令与项目约定是后续所有阶段的功课笔记。阶段② Plan把工作拆成可执行的分期planner 读取调研文档后选择策略广覆盖策略多数文件没测试 → 划分 2~10 个阶段保证每个公开方法至少 1 个测试定向策略多数文件已有充分测试 → 聚焦未覆盖与部分覆盖文件只需 1~3 个阶段分期遵循四条排序原则叶子优先免 mock 的先测、未覆盖优先、基类先于派生类、简单先于复杂。每个阶段都明确到源文件、测试文件位置、类名与关键场景正常路径 / 边界 / 异常产出.testagent/plan.md。阶段③~⑦ Implement四个工人子智能体协作implementer 是一线工人逐行阅读被测源码、核对方法签名后才写断言避免猜 API随后调用四个子工人工人职责硬性规则builder编译失败则调用 fixer最多重试 3 次tester运行测试只拦截新生成测试的失败历史遗留失败单独备注fixer修编译错误一次只修一个修测试期望值不改生产代码linter格式化只用自动修复类命令不做检查了事其中最有价值的一条规则是测试失败时先读生产代码理解真实行为再修正断言绝不标记[Skip]蒙混过关。这正是生成测试纸面通过与真正钉住行为的分水岭。三道质量闸门为什么生成的测试不会假通过流水线还内置了 3 道针对假测试的闸门 变异思维Mutation thinking——每条断言在至少一个可信 bug如变、漏掉空值检查、差一错误下应当失败若把函数体清空测试仍能通过说明断言太弱测试台发现检查Harness Discovery——新测试必须对 CI 工具可见经典 C# 项目需要手动登记Compile Include项。只在小范围命令下通过不算数必须从仓库根目录用发现命令复核增量完成前自检——汇报完成前调用test-gap-analysis伪变异找断言盲区与assertion-quality断言深度检查两个技能自查仅断言非空的测试必须返工同时所有改动遵守编辑边界现有测试文件只允许在末尾追加、绝不修改生产代码、绝不执行git checkout/clean等回退操作——产出永远是易于人工审查的纯增量变更。上手指南一条指令开启 80% 覆盖率如何调用直接对你的 AI 助手说为src/InvoiceService.cs生成单元测试遵循 unit-test-generation.prompt.md 的准则。技能会按规模自动路由策略 规模典型请求运行方式聚焦单个函数 / 类直接写测试不展开子智能体单遍一个模块 / 少数项目一次 Research→Plan→Implement迭代整个解决方案 / 达成覆盖率目标循环执行每轮生成独立的research-2.md、plan-2.md决定成败的两个细节VS Code 用户流水线是两级扇出generator → implementer → 四个工人。VS Code 默认关闭子智能体再派生子智能体需在设置中开启chat.subagents.allowInvocationsFromSubagents: true不开也能跑只是第二级工作由 implementer 内联完成结果不受影响多语言支持不只 .NET —— TypeScriptJest/Vitest、Pythonpytest、Go、Rust、Java、Ruby、C 等都能用。各语言的具体规则由 code-testing-extensions 提供官方评测用例见 code-testing-agent eval.yaml官方如何验证这条流水线skills 仓库自带完整的技能评测体系对带技能与不带技能两个对照组做同场对比用统计显著性判断技能是否真的带来改进。下面是评测面板对code-testing-agent等技能的打分示例 评测体系的完整说明见 vally-adapter README。总结从这条流水线学到了什么7 阶段 8 智能体Research → Plan → Implement → Build → Test → Fix → Lint每阶段产出可归档的中间产物.testagent/文件夹过程全程可追溯通过不是目的钉住行为才是变异思维 断言深度检查确保测试在代码真的出 bug 时会真的失败产出永远是增量只追加不改写、不碰生产代码且每条需求都能对应到具体测试名下次要为遗留模块补测试时不妨把范围交给这条流水线——让 8 位数字工程师接力完成从调研到格式化的全程你只负责验收那张Requirement | Evidence表格即可。更多技能与智能体清单可参考 dotnet-test 插件 README。【免费下载链接】skillsRepository for skills to assist AI coding agents with .NET and C#项目地址: https://gitcode.com/GitHub_Trending/skills17/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门