C# 无法使用DotCover控制台运行程序生成html报告

C# 无法使用DotCover控制台运行程序生成html报告,c#,resharper,code-coverage,nunit-3.0,dotcover,C#,Resharper,Code Coverage,Nunit 3.0,Dotcover,我正在我的单元测试项目上运行dotcover命令行工具。按照的指定,我运行以下命令 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"

我正在我的单元测试项目上运行dotcover命令行工具。按照的指定,我运行以下命令

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文件中的路径查找源代码文件。如果这些路径不再有效(例如,编译后源文件已被移动/删除,或者应用程序已在其他计算机上构建),则than dotCover无法将源代码包含到HTML报告中

从2020.1版开始,将有一个新的命令行参数“SourcesSearchPaths”,您可以在其中指定源代码的实际路径


另外请注意,源代码仅适用于覆盖树的方法节点。

我正在使用nunit。是否可能是阴影压缩导致.pdb文件移动?如果是这样的话,如何解决这个问题?不,pdb文件是可以的。dotCover确实成功地找到了pdb文件(否则您根本看不到任何覆盖率数据)。它找不到你的*.cs文件。@morbidCode你能在dotCover的bug tracker()中打开一个问题,并向我提供你的覆盖率快照吗(为了得到它,启动不带“ReportType”参数的“cover”命令)?@EkaterinaSolovova我遇到了类似的问题,有时报告的“src”部分无法生成。我仍然可以看到包含报告摘要的索引页面,但是我无法浏览到单个的.cs文件来直观地查看代码覆盖率。什么会导致这种随机性?我确实验证了所有pdb文件都在我的目标目录中。