【问题标题】:OpenCover not finding solution modulesOpenCover 找不到解决方案模块
【发布时间】:2019-05-20 10:45:42
【问题描述】:

我正在尝试使用 OpenCover 为我的解决方案生成一些代码覆盖率报告。我在这篇博文 http://www.allenconway.net/2015/06/using-opencover-and-reportgenerator-to.html 的帮助下运行了它,但它目前没有识别和加载我想要报告的模块。

这是我正在执行的操作:

"%~dp0..\packages\OpenCover.4.7.922\tools\OpenCover.Console.exe" ^
-register:user ^
-target:"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\mstest.exe" ^
-targetargs:"/testcontainer:\"%~dp0..\My.Project_Tests\bin\Debug\My.Project_Tests.dll\" /resultsfile:\"%~dp0My.Project.trx\"" ^
-filter:"+[My.Project*]* -[My.Project_Tests]*" ^
-mergebyhash ^
-skipautoprops ^
-output:"%~dp0\GeneratedReports\WebsiteReport.xml"

我得到的输出:

No tests to execute.
Committing...
No results, this could be for a number of reasons. The most common reasons are:
1) missing PDBs for the assemblies that match the filter please review the
output file and refer to the Usage guide (Usage.rtf) about filters.
2) the profiler may not be registered correctly, please refer to the Usage
guide and the -register switch.

我已尝试更改过滤器以包含所有内容:

-filter:"+[*]*"

这会查找并报告测试项目中的代码覆盖率,但无法识别或报告我实际想要测试的任何引用项目 (My.Project) 中的覆盖率。

所有项目都在构建中,.pdb 文件存在于测试项目的 bin 文件夹中。

我想要我的测试项目引用的所有项目的代码覆盖率报告。有谁知道出了什么问题?

【问题讨论】:

  • 您的测试是否在强制加载程序集? OpenCover 是一个配置文件,所以如果它没有实际加载,它就不会被看到。如果它们已加载,您应该引用输出文件中的程序集。
  • 嗨,肖恩,感谢您的帮助。是的,我很确定它们正在被加载。为了确认我添加了一个新的测试,它只是从我希望测试的程序集中实例化一个对象......虽然仍然没有乐趣 - 它仍然只是正在识别的测试程序集......我觉得我必须错过一些明显的东西。
  • 如果看到测试程序集并且它们被记录在正确的文件夹中(参见输出文件),那么我也很茫然。您可以尝试同时运行 DebugView,看看是否会发出任何有用的信息来表明问题所在。

标签: nunit opencover


【解决方案1】:

原来我是个白痴,在我应该运行 NUnit 控制台的时候运行 MSTest,因为我们的测试都使用 NUnit。

发布这个以防万一它帮助别人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多