我在我的Azure DevOps中使用ReportGenerator任务将基于Cobertura的代码覆盖率报告合并为一个,最终在流水线CodeCoverage选项卡中得到空报告。
下面是我的三个工作的管道。
Job1 -使用Windows代理pool1,构建java- (干净的编译,测试,cobertura:cobertura ),如果构建成功,将测试报告,代码覆盖率报告(只有xml)保存到Azure管道工件。
Job2 -使用Windows代理pool2,构建.NET核心-(恢复,测试,Cobertura格式的封面报告),如果构建成功,将测试报告,代码覆盖率报告(仅xml)保存到Azure管道工件。
Job3 -使用Windows代理pool3,下载测试和以前作业上传的多个覆盖报告,使用ReportGenerator将所有Cobertura报告合并为一个报告。发布代码覆盖率报告。
但是,如果我去看代码覆盖率报告选项卡管道,程序集,类,文件,包名数据在那里,但没有覆盖率数据,当我点击一个特定的包类名时,它是空的,并显示“‘/某个相对路径/abc.java’不存在(更多)”。请提个建议。
发布于 2021-05-01 16:44:47
ReportGenerator需要源代码才能创建完整的报告。这是无法避免的。
您需要复制源代码或将其重新签出到同一目录中。
发布于 2021-05-03 10:05:06
同意Daniel的回答。如果您使用Microsoft-hosted agents,每个作业都有不同的机器,因此它们不会共享相同的构建源目录。
您可以尝试deploy self-hosted agent并在管道中使用它,以便所有作业共享相同的构建源目录,然后您不需要再次签出它。
https://stackoverflow.com/questions/67328240
复制相似问题