如何在Azure DevOps Pipeline中运行VS2022项目单元测试?
在Azure DevOps Pipeline中运行VS2022单元测试的步骤
1. 准备Pipeline配置文件
在代码仓库根目录创建或修改azure-pipelines.yml,这是Pipeline的核心配置文件。
2. 根据项目类型选择测试任务
情况一:.NET Core/.NET 5+项目
使用DotNetCoreCLI任务完成测试,示例配置:
steps: # 还原项目依赖 - task: DotNetCoreCLI@2 inputs: command: 'restore' projects: '**/*.sln' feedsToUse: 'select' # 构建项目 - task: DotNetCoreCLI@2 inputs: command: 'build' projects: '**/*.sln' arguments: '--configuration Release' # 运行单元测试 - task: DotNetCoreCLI@2 inputs: command: 'test' projects: '**/*Tests.csproj' # 匹配后缀带Tests的测试项目 arguments: '--configuration Release --collect:"XPlat Code Coverage"' # 可选:收集代码覆盖率
情况二:.NET Framework项目
使用VSTest任务,需指定含VS2022的代理池,示例配置:
pool: vmImage: 'windows-2022' # 该镜像预装VS2022 steps: # 还原NuGet包 - task: NuGetCommand@2 inputs: command: 'restore' restoreSolution: '**/*.sln' feedsToUse: 'select' # 构建解决方案 - task: VSBuild@1 inputs: solution: '**/*.sln' platform: 'Any CPU' configuration: 'Release' # 运行单元测试 - task: VSTest@2 inputs: testSelector: 'testAssemblies' testAssemblyVer2: | **\*Tests.dll !**\obj\** searchFolder: '$(System.DefaultWorkingDirectory)' runSettingsFile: 'Tests.runsettings' # 可选:指定测试配置文件(如覆盖率规则)
3. 关键配置说明
- 测试路径匹配:确保
projects或testAssemblyVer2的规则能精准定位到你的测试项目/程序集,避免遗漏或误匹配。 - 代理池选择:.NET Framework项目必须用
windows-2022镜像;.NET Core项目可根据需求选择Windows、Linux或macOS镜像。 - 测试报告:Pipeline运行完成后,可在“测试”标签页查看详细结果,包括用例通过率、执行时长等。
4. 触发Pipeline
将修改后的azure-pipelines.yml提交到代码仓库,在Azure DevOps门户中关联或创建Pipeline,触发运行即可完成测试执行。
内容的提问来源于stack exchange,提问作者Linux Dev
相关产品推荐
相关产品推荐

