【问题标题】:Adding Code Coverage of .NET Core XUnit project to VSTS build将 .NET Core XUnit 项目的代码覆盖率添加到 VSTS 构建
【发布时间】:2018-05-02 02:00:47
【问题描述】:

我想将代码覆盖率指标添加到我们的 VSTS 构建中。 解决方案是带有 XUnit 的 ASP.NET 核心。 请告知步骤。

【问题讨论】:

标签: unit-testing .net-core azure-devops code-coverage azure-pipelines


【解决方案1】:

请参阅以下步骤以启用 .NET Core XUnit 测试的代码覆盖率:

  1. 编辑项目文件(测试和相关项目)以添加 DebugType 属性

例如:

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <IsPackable>false</IsPackable>
    <DebugType>Full</DebugType>
  </PropertyGroup>
  1. 将 Microsoft.NET.Test.Sdk 包更新到最新版本(将版本值更改为 15.7.0
  2. 添加 Visual Studio 测试任务以构建定义并指定 测试程序集搜索文件夹
  3. 在选择测试平台使用部分中选择特定位置选项
  4. vstest.console.exe 的路径中指定 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform
  5. 检查代码覆盖启用选项
  6. 其他控制台选项框中指定/framework:".NETCoreApp,Version=v2.0"

【讨论】:

  • 谢谢!我想知道它是否适用于测试程序集,我应该先“dotnet publish”吗?
  • @BorisLipschitz 不需要。
  • 你说得对,不需要发表。但是,它不起作用:数据收集器“代码覆盖率”消息:找不到 CodeCoverage.exe.. FileNotFoundException:C:\agent_work\2\s\test\MyProj.UnitTests\obj\release\netcoreapp2 中没有可用的测试.0\MyProj.UnitTests.dll。确保测试项目具有包“Microsoft.NET.Test.Sdk”的 nuget 引用,并且框架版本设置正确,然后重试。
  • 我确实有
  • 构建定义的任务是什么?可以分享一下 OneDrive 上的详细日志吗? (将 system.debug 变量设置为 true,然后排队构建并共享此日志)尝试在测试程序集输入框中指定`**UnitTest.dll !**\obj**`(两行) .
猜你喜欢
  • 2018-01-11
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2018-02-13
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多