1

我设置了一个 Azure DevOps CI 管道来收集使用 Coverlet 获得的代码覆盖率。我注意到,如果项目以某种方式被项目测试,报告将包含有关未测试的类/代码的信息,但例如,如果开发人员添加了一个没有相应测试项目的新项目,则代码不会显示在最终报告中。此外,似乎只能为每个测试项目指定阈值(例如,我可以有一个由两个不同的测试项目测试的项目:两者都有助于原始项目的代码覆盖率统计)。我正在使用“PublishCodeCoverageResults”管道任务来发布代码覆盖率结果。如果整体代码覆盖率没有达到特定阈值,有没有办法让 CI 构建失败?

4

1 回答 1

1

代码覆盖结果基于测试项目,因此,代码覆盖结果不应包括没有对应测试项目的项目。

对于整体代码覆盖率阈值,您可以使用此参数:

--configuration $(BuildConfiguration) /p:CollectCoverage=true /p:threshold=75 /p:thresholdType=line /p:thresholdStat=total /p:CoverletOutputFormat=cobertura

另一方面,在拉取请求中,有一个关于代码覆盖率指标的新特性: 代码覆盖率指标和拉取请求的分支策略

于 2019-08-02T11:37:32.313 回答