通过手动测试对dotnet核心应用程序的代码覆盖率

时间:2018-03-09 12:11:51

标签: visual-studio-2017 .net-core code-coverage

我试图通过手动测试获得dotnet核心应用程序的代码覆盖率(我没有任何单元测试项目)

正如本SO Question所述,我试图将vsinstr用于检测和vsperfmon。

但是在运行以下命令时

vsinstr /coverage C:\Test\netcoreapp2.0\ConsoleAppCodeCoverageTest.dll

我收到以下错误。

Microsoft (R) VSInstr Post-Link Instrumentation 15.0.27128 x86
Copyright (C) Microsoft Corp. All rights reserved.

File to Process:
   C:\Test\netcoreapp2.0\ConsoleAppCodeCoverageTest.dll --> 
C:\Test\netcoreapp2.0\ConsoleAppCodeCoverageTest.dll
Original file backed up to 
C:\Test\netcoreapp2.0\ConsoleAppCodeCoverageTest.dll.orig

Error VSP1019: Internal error.  HRESULT=80004005

但是,如果我在.Net Framework应用程序上使用vsinstr,它可以正常工作。

如果有任何其他方法可以通过手动测试获得dotnet核心应用程序的代码覆盖率,那么任何想法都可以解决这个问题。

1 个答案:

答案 0 :(得分:0)

目前您必须运行Visual Studio Enterprise,它仅适用于Windows。

相关的github issue

如果这对您来说不是问题,请注意these说明:

  

如果您在VS中针对.NET Core进行测试,则需要在测试项目中添加对Microsoft.CodeCoverage NuGet包的引用,并将测试项目和测试中项目更新为生成“完整”调试信息。

更多详情here