我正在尝试使用 open cover 为我的项目生成代码覆盖率报告,但它只涵盖测试类,而不是我想要的源代码。 我正在使用以下命令来运行我的测试:
"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -register:user -target:"$nunit_path\nunit-console.exe" -targetargs:"$project_path\Project.Test\Project.Test.dll -noshadow" -mergebyhash -output:C:\Reports\NUnit\projectCoverageReport.xml
$nunit_path 和 $project_path 只是我文件的路径,我跳过了它们以使命令更清晰。
当我运行这个命令时,我得到了测试类的完整覆盖(在 Project.Test.dll 程序集内),但没有别的。如何让 OpenCover 也考虑源代码?
最佳答案
此问题的一个可能原因是为该特定项目配置 pdb 文件的方式。 OpenCover 期望 pdb 文件为“完整”形式,而不是“可移植”形式。默认情况下,visual studio 将 pdb 文件标记为“可移植”。您可以通过执行以下操作来检查这一点。
右键单击项目 -> 属性 -> 构建 -> 输出 -> 高级 -> 调试信息。
这里的值应该是'full'。
关于.net - OpenCover 未涵盖实际源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38196857/