Unit testing 将.NET核心XUnit项目的代码覆盖率添加到VSTS构建中

Unit testing 将.NET核心XUnit项目的代码覆盖率添加到VSTS构建中,unit-testing,.net-core,azure-devops,code-coverage,azure-pipelines,Unit Testing,.net Core,Azure Devops,Code Coverage,Azure Pipelines,我想将代码覆盖率指标添加到我们的VSTS构建中。 解决方案是ASP.NET内核和XUnit。 请就步骤提出建议 请参阅以下步骤以启用.NET核心XUnit测试的代码覆盖率: 编辑项目的文件(测试和相关项目)以添加DebugType属性 例如: <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <IsPackable>false</IsPackab

我想将代码覆盖率指标添加到我们的VSTS构建中。 解决方案是ASP.NET内核和XUnit。 请就步骤提出建议


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

  • 编辑项目的文件(测试和相关项目)以添加DebugType属性
  • 例如:

    <PropertyGroup>
        <TargetFramework>netcoreapp2.0</TargetFramework>
        <IsPackable>false</IsPackable>
        <DebugType>Full</DebugType>
      </PropertyGroup>
    
    
    netcoreapp2.0
    假的
    满满的
    
  • 将Microsoft.NET.Test.Sdk包更新至最新版本(将版本值更改为)
  • 添加Visual Studio测试任务以生成定义并指定测试程序集搜索文件夹
  • 在使用选择测试平台部分中选择特定位置选项
  • 在vstest.console.exe的路径中指定
    C:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform
  • 选中启用的代码覆盖率选项
  • 其他控制台选项框中指定
    /framework:“.NETCoreApp,Version=v2.0”

  • 页面顶部清楚地显示了信息。感谢您的否决投票。你指的是这个链接吗?如果是,请告诉我如何为.net核心项目启用代码覆盖率。结合邮件中的所有关键字,Google可以轻松引导您找到Microsoft尚未准备就绪的线程。可能重复感谢!我想知道它是否适用于测试程序集。我应该先“dotnet发布”吗?@BorisLipschitz不需要。你说得对,不需要发布。但是,它不起作用:数据收集器“代码覆盖率”消息:找不到CodeCoverage.exe。。FileNotFoundException:在C:\agent\u work\2\s\test\MyProj.UnitTests\obj\release\netcoreapp2.0\MyProj.UnitTests.dll中没有可用的测试。请确保测试项目具有包“Microsoft.NET.test.Sdk”的nuget引用,并且框架版本设置适当,然后重试。我确实知道生成定义的任务是什么?你能在OneDrive上共享详细日志吗?(将system.debug变量设置为true,然后排队生成并共享此日志)尝试指定`**UNITEST.dll**\测试组件输入框中的obj**`(两行)。