发布代码覆盖率在.NET Core Azure管道中不起作用

时间:2018-12-12 13:39:23

标签: .net-core nuget azure-devops azure-pipelines azure-pipelines-build-task

我试图在.NET Core项目的Azure DevOps构建中添加代码覆盖率结果,但是,尝试在MSDN上基于this guide的两种不同方法:

当前,在构建解决方案之后,我要进行一个dotnet步骤进行测试,收集代码覆盖率并发布这些结果。我还尝试禁用此发布检查功能,并添加命令行步骤和发布测试结果。

下面是测试步骤的屏幕截图和Yaml:

Test step

- task: DotNetCoreCLI@2
  displayName: 'Test solution'
  inputs:
    command: test
    projects: '**/*Test/*.csproj'
    arguments: '--configuration $(buildConfiguration) --collect "Code coverage"'
    workingDirectory: ChustaSoft.Common.UnitTest

下面是当前禁用步骤的屏幕截图和yaml:

Command line script

- script: 'dotnet test ChustaSoft.Common.UnitTest --logger trx --collect "Code coverage"'
  displayName: 'Command Line Script'
  enabled: false

Publish test result step

- task: PublishTestResults@2
  displayName: 'Publish Test Results'
  inputs:
    testResultsFormat: VSTest
    testResultsFiles: '**/*.trx'
  enabled: false

使用这两种方法,我都可以看到测试结果,但看不到代码覆盖率,以下是我能看到的屏幕截图:

Build summary Test results

有什么主意吗?我想念什么吗?构建完成后如何查看代码覆盖率?

非常感谢您

PD:项目是多目标的:.NET Core 2.0,.NET Standard 2.0和.NET 4.6.1,UnitTest项目是.NET Core MSTest项目

编辑:添加了测试步骤输出: Test output

1 个答案:

答案 0 :(得分:1)

尝试先添加

来运行测试

Visual Studio Test Platform Installer Task

然后

Visual Studio Test -->>Test assemblies Task

删除Publish TestCommand line任务。