我正在单元测试项目上运行dotcover命令行工具。如https://www.jetbrains.com/help/dotcover/Running_Coverage_Analysis_from_the_Command_LIne.html#所指定,我运行以下命令
C:\files\dotcover cover
/TargetExecutable="C:\files\MockTestSample\packages\NUnit.ConsoleRunner.3.11.1\tools\nunit3-console.exe"
/TargetArguments="C:\files\mocktestsample\Tests\bin\Debug\tests.dll"
/Output="SampleCoverageReport.json"
/ReportType="JSON"
它以json格式生成精美的报告数据。但是,当我尝试生成HTML报告时:
C:\files\dotcover\dotcover cover
/TargetExecutable="C:\files\MockTestSample\packages\NUnit.ConsoleRunner.3.11.1\tools\nunit3-console.exe"
/TargetArguments="C:\files\mocktestsample\Tests\bin\Debug\tests.dll"
/Output="SampleCoverageReport.html"
/ReportType="HTML"
我只是想将代码覆盖率报告查看为html。但是,当我转到SampleCoverageReport.html文件时,我确实看到了覆盖范围,但是看不到源代码。当我单击一个项目时,它说“无可用资源”。我想念什么吗?我只是按照文档中确切编写的内容进行操作。
生成HTML报告时,dotCover尝试使用编译器保存在pdb文件中的路径来查找源代码文件。如果这些路径不再有效(例如,在编译后已移动/删除了源文件,或者如果您的应用程序是在其他计算机上构建的),那么dotCover不能将源代码包括到HTML报告中。
从版本2020.1开始,将有一个新的命令行参数'SourcesSearchPaths',您将可以在其中指定源代码的实际路径。
还请注意,源代码仅适用于覆盖树的方法节点。