Fra*_*o_K 5 code-coverage sonarqube azure-pipelines
也许这是我对质量门的无知,但由于在通过 VSTS 构建使用 sonarway 代码质量门时,泄漏期间默认的 40% 覆盖率,我的质量门失败了。问题是初始分析和最新分析之间的代码没有任何修改,因此参考文档中的比喻..厨房里没有额外的水..因此我没有看到这样做的原因失败的标准。
有没有其他人经历过这种情况和/或者如果这确实是预期的行为,任何人都可以解释其逻辑吗?IMO,我希望当泄漏期间代码库没有发生任何修改时,泄漏期间代码覆盖率检查不适用。
我的SQ分析是通过VSTS执行的,SQ的版本是6.7.3。
由于覆盖泄漏导致 QG 失败的分析摘要(覆盖百分比仍然相同)
当存在代码修改并且这些特定修改具有 100% 代码覆盖率时也会出现此问题
根据要求,我还创建了一个简单的演示项目,它也演示了该行为(使用 SQ 分析运行构建,第二个构建由于泄漏期间的覆盖率为 0.0% 而失败,尽管没有新代码)。示例项目可以在这里找到
如果有人可以向我解释这种行为,我将不胜感激,因为它似乎与文档相反。
万一有人偶然发现这个问题,那就有点转移注意力了!
经过与同事的一些良好讨论后,我们一致认为,将“过泄漏期”设置为“始终”的覆盖门条件是不正确的门配置。
我错误地假设 SonarQube 方式是内置默认方式并且不可编辑。然而事实证明,门实际上是可编辑的。根据发行说明,只读模式仅从 v7.0 开始强制执行。因此,我们错误配置的根本原因仍在调查中,但我们可以确定它不是 SonarQube文档中默认和推荐的 Gate
在上面发布的示例中,门抱怨额外的 0.7% 覆盖率低于最低 40% 的错误水平。条件本身按照配置应用,但实际上应该不可能启用覆盖范围的泄漏期。相反,应使用新代码覆盖率。
因此,简单的单衬管解决方案是:如果使用覆盖条件,请确保将“过泄漏期”设置为“从不”(和/或未选择)
归档时间: |
|
查看次数: |
1827 次 |
最近记录: |