
微软于7月31日发布了一款名为 code-testing-generator 的开源智能体能够为任意编程语言自动生成单元测试。该智能体会先学习用户的代码仓库然后自主规划、编写并验证测试用例确保其有效可用。目前该智能体仅支持单元测试的生成集成测试、端到端测试、浏览器测试和性能测试暂不在其能力范围之内。智能体通过研究-规划-实施RPI流水线来协调测试生成工作。首先智能体会扫描代码仓库找出需要测试的代码识别所用编程语言和测试框架参考已有测试用例并确定正确的构建与运行命令。随后智能体会根据任务规模从三种执行路径中选择最合适的一种直接模式读取相关代码直接编写测试并验证结果。单次模式完成一次研究和规划后按照既定方案执行。迭代模式循环执行上述流程以覆盖较大规模的需求或达到特定的覆盖率目标。确定路径后智能体会从结构简单的代码入手逐步处理依赖关系更复杂的代码并将每个行为映射到对应的测试文件。测试编写完成后智能体还会对生成的测试进行质量检验具体包括以下几个方面模拟对代码进行微小修改验证测试是否会相应失败检查断言是否存在缺失或不够严格的情况确认每一个待测场景均有对应的测试用例构建完整工作区并运行全套测试套件确认仓库的测试命令能够成功识别新生成的测试。code-testing-generator 智能体已以 dotnet-test 插件的形式发布于 GitHub 上的 dotnet/skills 仓库中。该插件可在 GitHub Copilot CLI 中使用同时也以预览功能的形式支持在 Visual Studio Code 及 VS Code Insiders 中通过插件方式调用。QAQ1code-testing-generator 智能体目前支持哪些类型的测试A目前该智能体仅支持生成单元测试集成测试、端到端测试、浏览器测试和性能测试均不在其当前支持范围内。微软表示未来可能会扩展更多测试类型。Q2code-testing-generator 智能体的 RPI 流水线是怎么工作的ARPI 即研究-规划-实施流水线。智能体首先扫描代码仓库识别编程语言、测试框架和构建命令然后根据任务大小选择直接、单次或迭代三种执行模式之一最后从简单代码开始逐步编写测试并在完成后自动进行质量验证包括检查断言完整性、运行全套测试套件等。Q3code-testing-generator 智能体在哪里可以使用A该智能体以 dotnet-test 插件形式发布在 GitHub 的 dotnet/skills 仓库中支持在 GitHub Copilot CLI 中使用同时也可以通过插件方式在 Visual Studio Code 和 VS Code Insiders 中调用目前该功能处于预览阶段。