每天早上一封邮件,把昨天的 AI 梳理好订阅邮件

METAL LAB

MS,开源可读取仓库并编写测试的单元测试代理

code-testing-generator 内部基准测试完成率比原版Copilot高13.2个百分点

이미지: METAL LAB 생성

摘要

  • 微软将支持多种编程语言的单元测试代理'code-testing-generator'以MIT许可证发布在dotnet/skills仓库中
  • 在内部152项任务基准测试中,完成率达到92.1%(140项),领先原版GitHub Copilot的78.9%(120项)
  • 在89个模糊提示任务中差距最大,为88.8%对66.3%;在15个针对特定diff的任务中以15比0完胜
공개 형태
MIT 라이선스, dotnet/skills 저장소 내 dotnet-test 플러그인
내부 벤치마크 완료율
92.1%(140/152) vs 스톡 Copilot 78.9%(120/152)
모호한 프롬프트(89개)
88.8%(79개) vs 66.3%(59개)
diff 타깃 과제(15개)
에이전트 15/15, 스톡 Copilot 0/15
.NET 45개 과제(Claude Opus 4.8)
43/45 vs 스톡 35/45
테스트 수·커버리지·소요시간
테스트 2.3% 감소(6,963 vs 7,129), 커버리지 동일(72.4% vs 72.2%), 359초 vs 380초

微软开源发布了支持多种编程语言的单元测试生成代理'code-testing-generator'。该代理以MIT许可证在dotnet/skills仓库中以dotnet-test插件形式提供,据悉它并非独立托管服务,而是在现有编码代理内部运行,代码留存于本地。

先读取仓库的方式

面对诸如"生成单元测试"这类模糊提示,该代理会先自行读取仓库,判断应使用的框架或文件位置等决策。它先检测语言和测试框架、掌握现有测试惯例,再确认实际的构建与测试命令,之后才开始编写测试。据介绍,该代理通过Research-Plan-Implement(RPI)流水线依次完成计划、编写、执行、验证,并且不会修改生产代码。

基准测试结果

在微软内部152项任务的基准测试中,该代理完成了140项(92.1%),领先使用相同模型和提示的原版GitHub Copilot的120项(78.9%)。差距在模糊提示任务中尤为明显:89项中完成了79项(88.8%),而原版Copilot完成59项(66.3%),失败数从30个降至10个。而在63个详细提示任务中,双方表现相同,均完成61项(96.8%)。

在针对特定pull request diff的15项任务中,该代理全部通过,而原版Copilot无一通过。在.NET 45项任务中,以Claude Opus 4.8为基准时该代理为43/45,原版为35/45;以GPT-5.5为基准时则为41/45对36/45。在外部SWE Atlas基准测试中,结果为16/44对12/44。

据微软介绍,该代理生成的测试数量减少2.3%(6,963个对7,129个),但覆盖率几乎相同(72.4%对72.2%),平均作业时间为359秒,略短于原版。