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,其范围限定于您的活动文档。
阅读全文