我正在尝试使用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文件夹中。
我想要测试项目引用的所有项目的代码覆盖率报告。有谁知道怎么了?
答案 0 :(得分:0)
原来我是个白痴,当我应该运行NUnit控制台时,我正在运行MSTest,因为我们的测试全部使用NUnit。
发布此信息以防其他人解决。