Azure DevOps中,Microsoft.Testing.Platform的全面支持已经实现了吗?
摘要:原文 | Youssef Fahmy 翻译 | 郑子铭 今年早些时候,我们宣布所有主流 .NET 测试框架现已支持 Microsoft.Testing.Platform。下一步合乎逻辑的做法是什么?确保它能与您的 CICD 管道无缝协作。
原文 | Youssef Fahmy
翻译 | 郑子铭
今年早些时候,我们宣布所有主流 .NET 测试框架现已支持 Microsoft.Testing.Platform。下一步合乎逻辑的做法是什么?确保它能与您的 CI/CD 管道无缝协作。今天,我们宣布 Microsoft.Testing.Platform 与 Azure DevOps 全面集成。
Azure DevOps 的新增功能
Azure DevOps 现在通过两项关键改进,为 Microsoft.Testing.Platform 提供一流的支持:
使用熟悉的 DotNetCoreCLI 任务运行测试;无需再使用其他变通方法。
智能处理测试重试——发布来自重试尝试的多个 TRX 文件,并进行适当的分组和退出代码。
无论您是从 VSTest 迁移过来,还是从零开始使用 Microsoft.Testing.Platform,现在的体验都非常流畅直观。
关于 Microsoft.Testing.Platform
如果您是 Microsoft.Testing.Platform 的新用户,以下是一些可以帮助您快速上手的实用资源:
《.NET 测试》概述了 .NET 中使用的测试工具。特别是,它阐明了测试平台和测试框架之间的区别。
使用“dotnet test”进行测试解释了“dotnet test”命令可以运行的不同模式。
Microsoft.Testing.Platform 概述介绍了 Microsoft.Testing.Platform 是什么以及如何使用它运行测试。
使用新的 dotnet test 增强您的 CLI 测试工作流程,该测试显示了 .NET 10 SDK 中添加的对 Microsoft.Testing.Platform 的“dotnet test”支持。
简而言之,Microsoft.Testing.Platform 是 VSTest 的现代替代方案。
在 Azure DevOps 中运行测试
从 2.263.0 版本开始,DotNetCoreCLI 任务现在支持 Microsoft.Testing.Platform!
在 Azure DevOps 中使用 Microsoft.Testing.Platform 运行测试主要有两种选择:
选项 1:使用 DotNetCoreCLI 任务(推荐)
从版本 2.263.0 开始,DotNetCoreCLI Azure DevOps 任务现在支持Microsoft.Testing.Platform 。
- task: DotNetCoreCLI@2
displayName: 'Run tests'
inputs:
command: 'test'
projects: '**/*Tests.csproj'
arguments: '--no-build --report-trx'
发生了什么变化? Microsoft.Testing.Platform 使用与 VSTest 不同的命令行标志。例如,使用 --report-trx 而不是 --logger trx。有关选项的完整列表,请参阅 Microsoft.Testing.Platform CLI 文档。
选项 2:直接运行“dotnet test”
您可以dotnet test使用脚本或命令行任务直接运行该命令。这样可以最大限度地提高灵活性,并且不需要对 Azure DevOps 任务进行任何特定的更新。
- task: CmdLine@2
displayName: 'Run tests'
inputs:
script: 'dotnet test --no-build --report-trx'
何时使用此方法?如果您需要围绕测试执行编写自定义脚本,或者想要避免对特定任务版本的依赖,请选择此方法。
从 VSTest 任务迁移
VSTest Azure DevOps 任务是专门为 VSTest 设计的,不支持 Microsoft.Testing.Platform。
如果您当前正在使用 VSTest 任务:
切换到选项 1(DotNetCoreCLI 任务)可获得最相似的体验。
请将命令行参数更新为使用 Microsoft.Testing.Platform 语法
测试您的管道,以确保测试发现和执行按预期工作。
选项 1 和选项 2 都提供了与 VSTest 任务相同的测试执行功能。
发布支持重试的测试结果
问题在于:当您使用Retry 扩展程序自动重新运行失败的测试时,Microsoft.Testing.Platform 会为每次尝试生成一个单独的 TRX 文件。
