gpt4 book ai didi

.net - 如何在 VSTS (CI) 中为 .NET Standard Library (2.0) 项目启用代码覆盖率

转载 作者:行者123 更新时间:2023-12-04 19:28:36 25 4
gpt4 key购买 nike

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

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

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

代码覆盖任务 -
TestAssemblies

other option

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

  • ......$(BuildConfiguration)\netcoreapp2.0\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll 中没有可用的测试。确保测试项目具有包“Microsoft.NET.Test.Sdk”的 nuget 引用,并且框架版本设置适当,然后重试。
  • ...... $(BuildConfiguration)\netcoreapp2.0\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll 中没有可用的测试。确保测试项目具有包“Microsoft.NET.Test.Sdk”的 nuget 引用,并且框架版本设置适当,然后重试。

  • 谢谢。

    问候,
    黛布

    最佳答案

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

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

  • 添加 <DebugType>Full</DebugType>至 PreopertyGroup

  • 样本:
    <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>

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

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

    vstest.console.exe 的路径: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe
    查询 Code coverage enabled选项

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

    enter image description here

    关于.net - 如何在 VSTS (CI) 中为 .NET Standard Library (2.0) 项目启用代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48253711/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com