【问题标题】:Code Coverage for untested projects in .net core and global threshold.net 核心和全局阈值中未测试项目的代码覆盖率
【发布时间】:2019-08-01 13:24:05
【问题描述】:

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

【问题讨论】:

    标签: .net .net-core code-coverage azure-pipelines coverlet


    【解决方案1】:

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

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

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

    另一方面,在拉取请求中有一个关于代码覆盖率指标的新功能: Code coverage metrics and branch policy for pull requests

    【讨论】:

    • 太棒了。这正是我正在寻找的功能!
    猜你喜欢
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 2015-12-28
    • 2019-10-21
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 2019-01-18
    相关资源
    最近更新 更多