OpenCover & ReportGenerator:历史文件为空

OpenCover & ReportGenerator : History files are empty

我正在使用 OpenCover 通过 MSTest 成功生成代码覆盖率 xml 报告。我是从 Powershell/Bamboo 开的。然后,我使用 ReportGenerator 成功创建了可读的 HTML 报告。它写入覆盖率历史文件,但内容为零。 (在随后的 运行s 中,它当然会警告它无法读取历史文件,因为它缺少根 xml 元素,实际上它缺少 everything.)

我从哪里开始寻找为什么覆盖率历史 xml 文件是零字节?

运行 从我的项目文件夹的根目录中,我的两个表达式是这样生成的:

C:\Users\...\OpenCover\OpenCover.Console.exe 
    -register:user
    -target:C:\...\MSTest.exe 
   "-targetargs:/testcontainer:.\webapi\WebApi.Tests\bin\Release\WebApi.Tests.dll /resultsfile:.\WebApiTestResults.trx /noisolation" 
   "-filter:+[*]* -[FluentValidation*]* -[Dapper*]* -[Antlr3*]*" 
    -mergebyhash 
    -output:.\projectCoverageReport.xml

可能更恰当的是报告生成表达式:

C:\Tools\ReportGenerator_2.5.5\ReportGenerator.exe
    "-reports:projectCoverageReport.xml"
    "-targetdir:CodeCoverage"
    "-reportTypes:Html;HtmlChart;HtmlSummary"
    "-historydir:C:\OpenCoverHistory\VBN-YGWA"

一切看起来都不错,除了报告生成。权限似乎没问题,因为 -historydir 和路径开关会导致创建目录和空白文件。我已经 运行 这既是机器上的管理员(在 Powershell 中),也是系统通过 bamboo 运行ning 脚本。相同的输出。

去哪里寻找为什么历史文件是零字节?

您的脚本看起来不错。请更新 ReportGenerator 至 2.5.6 版本: https://www.nuget.org/packages/ReportGenerator/

您使用的版本在历史文件方面存在错误。 抱歉。