我正在使用Opencover和Reportgenerator来查找我的C#项目的代码覆盖率。目前,我能够为我的单元测试获得 100% 的覆盖率,但我想知道单元测试文件覆盖了多少代码(我认为 opencover 中有一种方法)?
假设我的单元测试只覆盖了我脚本的 50%,那么我希望 opencover 报告这一点。
我正在.bat文件上使用以下命令来运行 opencover 和 reportgenerator(我在 opencover 上尝试了所有可能的参数,但未能获得我需要的)
"..packagesOpenCover.4.6.519toolsOpenCover.Console.exe" -target:"..packagesnunit.consolerunner3.8.0toolsnunit3-console.exe" -targetargs:".binDebugUserAuthUnitTest.dll" -register:path64 -mergebyhash -nodefaultfilters -oldstyle -showunvisited -log:verbose -filter:+[*]* -safemode:no -output:"CodeCoverageResult.xml"
"..packagesReportGenerator.3.1.2toolsReportGenerator.exe" "-reports:CodeCoverageResult.xml" "-reporttypes:Badges;HtmlSummary" "-verbosity:Verbose" "-targetdir:CodeCoverageReport"
我目前得到以下信息: 报告生成器上的输出
看看OpenCover生成的xml文件。它将提供它跳过程序集的原因。
男性确保您的程序集生成一个 pdb 文件(完整),并且它与程序集位于同一文件夹中。
使用筛选器忽略程序集(参见 wiki)