打开封面不会在封面细节上生成输出

Rav*_*dra 8 code-coverage opencover

试图打开如下打开的封面

opencover.console.exe -target:"C:\ Users\rkapiset\Downloads\xunit-1.8\xunit.console.clr4.x86.exe"-targetargs:"""E:\ Office\CRM\dotnet\1 - UI\EYC.CRM.UI.Tests\bin\Debug\EYC.CRM.UI.Tests.dll""" - filter:+ [EYC]*-output:coverage.xml

以下是结果

共61次,3次失败,0次跳过,耗时1.674秒
访问次数0 of 0(NaN)
访问方法0 of 0(NaN)
访问点0 of 0(NaN)未
访问类未
访问的方法

我有什么不对的提示?提前致谢.

coc*_*lla 8

要让它发挥作用,有几个关键因素.

  1. 找到封面
  2. 告诉它使用xunit.console.exe
  3. 使用targetargs为xunit.console.exe提供参数
  4. 给xunit测试dll和应用程序dll的调试版本
  5. 指示xunit不使用shadowcopy(因此所有PDB调试文件都在其工作目录中可用)
  6. 使用反斜杠在targetargs中的路径中引用注释
  7. 从coverage中筛选出".Tests"项目中的类
  8. 使用-register做一些神奇的事情
  9. 以管理员身份运行(如果您的计算机上的UAC已关闭,则不会出现问题)

例:

"C:\OpenCover.4.6.166\tools\OpenCover.Console.exe" -output:"C:\MyProject\coverage.xml" "-target:C:\MyProject\packages\xunit.runner.console.2.0.0\tools\xunit.console.exe" -targetargs:"\"C:\MyProject\Project.Tests\bin\Debug\Project.Tests.dll\" \"C:\MyProject\Project\bin\Debug\Project.exe\" -noshadow" -filter:"+[*]Project.* -[*.Tests]*" -register
Run Code Online (Sandbox Code Playgroud)

引用:http: //derekwilson.net/derekblog/post/2012/05/29/Using-OpenCover-and-xUnit.aspx


Sha*_*lde 4

您注册了分析器吗?

尝试-register开关或者如果在 UAC -register:user下

OpenCover Wiki上对所有开关进行了解释

或者,您可以在已安装程序文件文件夹中的 x86 和 x64 文件夹中的每个探查器 OpenCover.Profiler.dll 上使用 regsvr32

  • 尝试在 xunit 命令行上使用 /noshadow 开关 - 为了正确检测覆盖工具需要查找 pdb 文件的代码 - xunit 看起来会将文件复制到另一个位置,因此找不到 PDB 文件,因此没有覆盖。 (3认同)