无法使用DotCover控制台运行器生成html报告

问题描述 投票:0回答:1

我正在单元测试项目上运行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文件时,我确实看到了覆盖范围,但是看不到源代码。当我单击一个项目时,它说“无可用资源”。我想念什么吗?我只是按照文档中确切编写的内容进行操作。

c# resharper code-coverage nunit-3.0 dotcover
1个回答
0
投票

生成HTML报告时,dotCover尝试使用编译器保存在pdb文件中的路径来查找源代码文件。如果这些路径不再有效(例如,在编译后已移动/删除了源文件,或者如果您的应用程序是在其他计算机上构建的),那么dotCover不能将源代码包括到HTML报告中。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.