SonarQube-即使在代码库上没有修改,泄漏期间的声纳路径覆盖也会失败

SonarQube-即使在代码库上没有修改,泄漏期间的声纳路径覆盖也会失败,sonarqube,code-coverage,azure-pipelines,Sonarqube,Code Coverage,Azure Pipelines,也许这是我在理解质量门方面的无知,但我有一个失败的质量门,因为在通过VSTS构建使用sonarway代码质量门时,在泄漏期间默认覆盖率为40%。问题是在最初的分析和最新的分析之间没有对代码进行任何修改,因此在文档中引用了隐喻。。厨房里没有多余的水。。因此,我看不出这一标准失败的原因 是否有其他人经历过这种情况,或者如果这确实是预期的行为,是否有人能解释这种逻辑?在国际海事组织,我希望泄漏期间代码覆盖率检查不适用于泄漏期间代码库未发生任何修改的情况 我的SQ分析是通过VSTS执行的,SQ的版本是6

也许这是我在理解质量门方面的无知,但我有一个失败的质量门,因为在通过VSTS构建使用sonarway代码质量门时,在泄漏期间默认覆盖率为40%。问题是在最初的分析和最新的分析之间没有对代码进行任何修改,因此在文档中引用了隐喻。。厨房里没有多余的水。。因此,我看不出这一标准失败的原因

是否有其他人经历过这种情况,或者如果这确实是预期的行为,是否有人能解释这种逻辑?在国际海事组织,我希望泄漏期间代码覆盖率检查不适用于泄漏期间代码库未发生任何修改的情况

我的SQ分析是通过VSTS执行的,SQ的版本是6.7.3

由于覆盖率泄漏导致QG失败的分析总结(覆盖率仍然相同)

当存在代码修改并且这些特定修改具有100%的代码覆盖率时,也会发生此问题

声纳通道质量门配置如下(默认配置):

根据要求,我还创建了一个简单的演示项目,该项目还演示了该行为(使用SQ分析运行构建,第二个构建由于泄漏期间0.0%的覆盖率而失败,尽管没有新代码)。样本项目可以找到


如果有人能向我解释这一行为,我将不胜感激,因为这似乎与文档相反。

如果有人无意中发现了这个问题,那就有点像是在转移视线了

在与同事进行了一些很好的讨论之后,我们一致认为,在泄漏期间设置为“始终”的覆盖范围闸门条件是不正确的闸门配置

我错误地认为SonarQube方式是内置默认方式,不可编辑。然而,事实证明,门实际上是可编辑的。只读模式仅在v7.0之后根据强制执行。因此,我们的错误配置的根本原因仍在调查中,但我们可以确定,这不是默认的和推荐的门,根据SonarQube

在上面的示例中,gate抱怨额外的0.7%覆盖率低于最低40%的错误水平。条件本身正在按配置应用,但实际上不可能启用覆盖的泄漏期。相反,应使用新代码的覆盖范围

因此,简单的一行解决方案:
如果使用覆盖范围条件

是否可以添加屏幕截图以显示质量门“SonarQube方式”?您能否在一个驱动器中共享一个可以重现相同SQ分析结果的示例项目?@MarinaLiu MSFT根据请求添加了其他信息