如何在 VSTS 中启用 .NET 标准库 (2.0) 项目的代码覆盖率 (CI)

How do I enable Code Coverage for .NET Standard Library (2.0) project in VSTS (CI)

请帮助我 - 如何在 VSTS (CI) 中 enable/show .NET Standard 库项目 (2.0) 的代码覆盖率结果。已通过 dotnet Test task(.NET Core 2.0 预览)启用测试结果,并能够看到通过的测试用例。下一步我添加了 "publish result" 任务,但它在构建期间显示以下警告 - 没有找到匹配 _temp*/.trx 的测试结果文件. 即使我修改了 .csproj 文件并添加了 <DebugType>Full</DebugType>.

使用 Visual Studio 2017 Professional(版本 - 15.5.2) 项目 - .NET 标准库 (2.0) 单元测试 - MSTest(内置于 Visual Studio)

在 VSTS 的构建定义中,我需要执行哪些任务/如何执行任务add/modify,以便我可以查看针对单元测试的代码覆盖率。

代码覆盖任务 - TestAssemblies

other option

现在我可以看到代码覆盖率(不确定是否显示了正确的代码覆盖率)但是任务 - 测试程序集 ***.test*.dll 失败并出现以下错误 - Code-Coverage-Result

谢谢。

此致, 黛布

首先,确保您可以通过Visual Studio获得代码覆盖率结果。据我所知,需要企业版(您可以使用托管 VS 2017 代理)。

.Net Core 单元测试项目的代码覆盖率:

  1. <DebugType>Full</DebugType> 添加到 PreopertyGroup

样本:

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>

    <IsPackable>false</IsPackable>
    <DebugType>Full</DebugType>
  </PropertyGroup>
  1. 安装Microsoft.CodeCoverage package测试项目

其次,可以运行通过Visual Studio测试任务:(

vstest.console.exe 的路径:C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe

检查 Code coverage enabled 选项

其他控制台选项:/framework:".NETCoreApp,Version=v2.0")