.net - .net 核心和全局阈值中未测试项目的代码覆盖率
问题描述
我设置了一个 Azure DevOps CI 管道来收集使用 Coverlet 获得的代码覆盖率。我注意到,如果项目以某种方式被项目测试,报告将包含有关未测试的类/代码的信息,但例如,如果开发人员添加了一个没有相应测试项目的新项目,则代码不会显示在最终报告中。此外,似乎只能为每个测试项目指定阈值(例如,我可以有一个由两个不同的测试项目测试的项目:两者都有助于原始项目的代码覆盖率统计)。我正在使用“PublishCodeCoverageResults”管道任务来发布代码覆盖率结果。如果整体代码覆盖率没有达到特定阈值,有没有办法让 CI 构建失败?
解决方案
代码覆盖结果基于测试项目,因此,代码覆盖结果不应包括没有对应测试项目的项目。
对于整体代码覆盖率阈值,您可以使用此参数:
--configuration $(BuildConfiguration) /p:CollectCoverage=true /p:threshold=75 /p:thresholdType=line /p:thresholdStat=total /p:CoverletOutputFormat=cobertura
另一方面,在拉取请求中,有一个关于代码覆盖率指标的新特性: 代码覆盖率指标和拉取请求的分支策略
推荐阅读
- c - 使用可变参数动态调用 C 库函数
- logstash - 设置 functionbeat 以将输出发送到 logstash
- python - ImportError:无法从“tensorflow.python.keras.applications”导入名称“resnet”
- flutter - 无法在颤振的其他类中添加自定义导航
- visual-studio - 使用 C# 进行用户输入的可选参数
- java - 如何查看继承的Java类的虚函数表
- c# - C#:为另一个 .NET 程序集中的内部类编写显式转换运算符
- signal-processing - 如何确定输入-输出对的时不变性?
- reactjs - 来自父组件的子组件中的检查元素的反应测试库
- node.js - 如何使用与 NodeJS 和 Sequelize 的比较在数据库中删除