在一个多阶段,yaml配置的CI管道中,通过矩阵策略在Windows和Linux中构建,我正在生成。
A .cobertura.xml
文件,用于在Linux操作系统中生成汇总报告,通过 报告生成器 可从 AzureDevops 中的覆盖选项卡访问。我明确地使用了 PublishCodeCoverageResults
在这个操作系统中。
A .coverage
文件,用覆盖率数据喂养SonarCloud。我没有使用 PublishCodeCoverageResults
在这个操作系统中。
我的问题是 .coverage
文件会覆盖覆盖选项卡中的预期报告,让我下载而不是看到报告。我怎样才能避免这种情况?有什么方法可以摆脱该附件以正确显示报告?
如果我不运行Windows部分,报告是 果然.
如果我这样做,我得到 这个 而不是报告。
我试过删除 .coverage
文件,但覆盖率选项卡中的 "附件 "却留在那里。
已回答 此处:
这不是一个bug,行为是设计好的,因为.coveragereport优先于其他报告。
我的建议是停止将测试运行作为windows中dotnet任务的一部分发布。有一个选项可以这样做。
复制trx和覆盖率文件到不同的位置。使用发布测试结果任务上传trx文件,但要确保coverage文件不能用于这次发布。