如何在 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
.......$(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获得代码覆盖率结果。据我所知,需要企业版(您可以使用托管 VS 2017 代理)。
.Net Core 单元测试项目的代码覆盖率:
- 将
<DebugType>Full</DebugType>
添加到 PreopertyGroup
样本:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
<DebugType>Full</DebugType>
</PropertyGroup>
其次,可以运行通过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"
)
请帮助我 - 如何在 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
.......$(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获得代码覆盖率结果。据我所知,需要企业版(您可以使用托管 VS 2017 代理)。
.Net Core 单元测试项目的代码覆盖率:
- 将
<DebugType>Full</DebugType>
添加到 PreopertyGroup
样本:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
<DebugType>Full</DebugType>
</PropertyGroup>
其次,可以运行通过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"
)