GitHub Copilot Testing for .NET 如何将 AI 驱动的单元测试引入 Visual Studio 2026?
摘要:原文 | McKenna Barlow 翻译 | 郑子铭 GitHub Copilot 的 .NET 测试功能让您无需离开代码即可快速便捷地生成高质量的单元测试。今天,我们很高兴地宣布,此功能现已在 Visual Studio 2026 v
原文 | McKenna Barlow
翻译 | 郑子铭
GitHub Copilot 的 .NET 测试功能让您无需离开代码即可快速便捷地生成高质量的单元测试。今天,我们很高兴地宣布,此功能现已在 Visual Studio 2026 v18.3 中正式发布。
此版本将GitHub Copilot .NET 测试带给所有人,它具有更丰富的 IDE 集成、更自然的提示以及新的入口点,使单元测试生成变得轻松直观。
基于实际使用情况和用户反馈,此次正式版发布旨在消除操作障碍,帮助开发者只需几次交互即可从代码编写到测试完成,从而建立信心。如果您已在 Visual Studio Insiders 中试用过此功能,则此版本直接基于您的反馈进行改进。如果您是首次体验此功能,现在正是最佳时机。
专为单元测试而构建的人工智能
GitHub Copilot 的 .NET 测试功能专为单元测试而设计,它内置了对解决方案结构、测试框架和构建系统的感知能力。它采用端到端的测试工作流程,而不是单一的响应提示。
您可以根据任务需要生成测试,测试范围可以是单个成员、类、文件、整个项目、完整解决方案,甚至是当前的 Git 差异。GitHub Copilot 测试会根据该范围来确定要生成哪些测试、如何组织测试以及如何在 Visual Studio 中执行它们。该代理还支持您在 Copilot Chat 中选择的任何模型,让您在利用专用测试工作流程的同时,也能使用您偏好的模型。
当您发起测试请求时,GitHub Copilot 会进行测试:
生成针对您所选代码的单元测试
自动构建并运行这些测试
检测故障并尝试修复它们
反复运行直到找到稳定的起点。
在此过程中,代理会使用您的项目配置和选择的测试框架,以确保在 Visual Studio 中正确组织、发现和执行测试。
测试生成完成后,Copilot 会提供一个结构化的摘要,帮助您了解发生了哪些变化:
创建或修改的测试文件和项目
前后对比覆盖信息
通过/失败信号和不稳定情况
对可测试性差距的洞察
直接提供生成的测试用例链接,以便您可以立即查看和迭代。
这种方法缩短了编写代码和验证代码之间的反馈周期,帮助您更有信心地推进项目。这一切都取决于您与代理的交互方式。第一步很简单,只需告诉 GitHub Copilot 您想要测试的内容即可。
更自然、更自由的提示
GitHub Copilot 的 .NET 测试功能现在支持自由格式提示,让您可以更轻松地用自己的语言描述测试内容。您仍然需要使用 <test-agent-name> 来指定测试代理@Test,但不再受限于固定的命令格式。
您可以使用自然语言编写提示,代理将解释您的意图,同时在后台处理测试生成、执行和恢复。
使用自由提示,您可以
可以精确引用任何代码,也可以模糊引用。
“@Test为我的核心业务逻辑生成单元测试”
“ @TestFoo类”
“@Test请求解析逻辑”
请提及您当前的 Git 更改
“@Test为我当前的更改编写单元测试”
“ @Test #git_changes”
要求修复特定或所有失败的测试
“@Test修复我失败的测试”
要求达到特定的目标代码覆盖率。
“@Test类 Bar,目标代码覆盖率 80%”
明确测试偏好和惯例
“@Test使用 xUnit 和 FluentAssertions 生成测试”
对于需要明确指定作用域的场景,仍然支持结构化语法:
@Test #
可以是成员、类、文件、项目、解决方案或 Git 差异。
这种提示的灵活性使得表达意图更加容易,无论您是想扩大覆盖范围、稳定失败的测试,还是生成与团队现有约定一致的测试。
新的就业途径,让您在工作中也能轻松找到工作机会。
GitHub Copilot 的 .NET 测试功能设计得易于查找和使用,以便生成单元测试能够自然地融入您现有的开发工作流程。
您始终可以通过在 Copilot Chat 中发起提示来直接调用测试体验@Test。此外,新的入口点会从 IDE 中熟悉的位置显示相同的工作流程,帮助您在不改变工作方式的情况下发现和使用该功能。
在编辑器中单击鼠标右键
右键单击 → 副驾驶操作 → 生成测试
作用域是根据您右键单击的位置推断出来的,与其他Copilot 操作(例如,成员、类或文件)的行为相同。
该命令将启动专门用于 C# 项目的测试环境,并@Test自动应用相应的上下文。
副驾驶聊天破冰
选择与编写单元测试相关的提示会在编辑器焦点位于 C# 代码时启动测试代理。
默认情况下,提示符会自动填充内容@Test,其范围限定于您的活动文档。
入门
先决条件: Visual Studio 18.3、C# 代码和付费的 GitHub Copilot 许可证。
在 Visual Studio 18.3 中打开您的 C# 项目或解决方案,并确保其生成过程中没有错误,以简化流程。
新建一个 Copilot 聊天主题,并在主题开头输入您的请求@Test。您可以使用自然语言或如上所示的结构化语法来定义您的请求。
在聊天窗口中,选择“发送”。GitHub Copilot 的 .NET 测试功能随后将启动一个迭代过程。Copilot 将分析您的代码,如果测试项目不存在,则会创建一个。然后,它会自动生成测试、构建并运行它们。
测试资源管理器会在测试生成时显示结果。如果测试资源管理器没有自动打开,您可以选择“测试”→“测试资源管理器”来打开它。
测试生成完成后,GitHub Copilot 测试将在 Copilot Chat 中提供摘要。
如需了解更多使用信息,请查看我们的入门文档。
接下来会发生什么?
GitHub Copilot .NET 测试的正式版发布,体现了我们从开发者在实际项目中使用该功能所获得的经验。早期用户的反馈直接促成了提示、功能发现以及测试工作流程与日常开发流程融合方面的改进。
正式发布是一个重要的里程碑,但这并非旅程的终点。我们将继续开展用户研究并收集反馈,以了解开发者如何在实际场景中使用 GitHub Copilot 进行 .NET 测试,尤其是在请求规模和复杂性不断增长的情况下。
我们正在积极探索的一个领域是针对更高级测试需求的规划阶段。对于范围更广或需求更具体的情况,开发人员希望在前期拥有更大的控制权,包括能够明确意图、确认假设,并在生成测试之前审查拟定方案。我们正在研究如何将这种体验直接集成到 Visual Studio 中,以便更好地支持复杂的工作流程和精确的需求。
如果您有机会试用该工具,我们非常希望通过此调查了解您的想法,包括您对当前体验的反馈,以及您希望该功能下一步发展的方向,包括超越 Visual Studio 的功能。
提供反馈
随着人工智能不断影响开发者构建和验证软件的方式,我们的重点仍然是使这些功能实用、可预测,并与您已使用的工具良好集成。
如果您还没试过,不妨在 Visual Studio 18.3 中试试 GitHub Copilot 的 .NET 测试功能,并告诉我们您的想法!您可以使用Visual Studio 中的“提供反馈”按钮,告诉我们哪些功能运行良好,哪些方面需要改进。我们非常感谢您的反馈,它对未来的产品决策起着至关重要的作用。
原文链接
GitHub Copilot Testing for .NET Brings AI-powered Unit Tests to Visual Studio 2026
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com)
