code-coverage - 打开封面不会产生任何有关覆盖范围详细信息的输出

标签 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 total, 3 failed, 0 skipped, took 1.674 seconds
Visited Classes 0 of 0 (NaN)
Visited Methods 0 of 0 (NaN)
Visited Points 0 of 0 (NaN)
Unvisited Classes
Unvisited Methods



有什么提示我要去哪里吗?
提前致谢。

最佳答案

要使它起作用,有几个关键。

  • 查找封面
  • 告诉它使用xunit.console.exe
  • 使用targetargs
  • 为xunit.console.exe提供参数
  • 为xunit提供测试dll和应用程序dll的调试版本
  • 指示xunit不要使用卷影副本(因此所有PDB调试文件在其工作目录中均可用)
  • 用反斜杠
  • 引述targetargs中路径中的引号
  • 从覆盖
  • 中筛选出“.Tests”项目中的类
  • 使用-register做一些神奇的
  • 以管理员身份运行(如果您的计算机上的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
    

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

    关于code-coverage - 打开封面不会产生任何有关覆盖范围详细信息的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6805606/

    相关文章:

    unit-testing - 让 PartCover 发挥作用

    msbuild - 如何在TeamCity中运行OpenCover + NUnit,而又不运行两次所有单元测试?

    c# - OpenCover 用于 .Net Core 中的 xUnit 测试

    .net - .net 核心项目使用 <DebugType>Full</DebugType> 和 <DebugType>Portable</DebugType> 有什么区别?

    java - 从 Emma 代码覆盖率报告中过滤 junit 测试类

    c# - 什么是好的、免费的 C# 单元测试覆盖工具?

    gradle - Jenkins jacoco插件-Java8仪表板报告已消失

    python-3.x - 运行nose2 覆盖已安装的包

    NUnit 测试的 OpenCover 覆盖率