首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SonarQube -声纳方式在泄漏期间的覆盖失败,即使没有对代码库进行修改。

SonarQube -声纳方式在泄漏期间的覆盖失败,即使没有对代码库进行修改。
EN

Stack Overflow用户
提问于 2018-04-24 08:36:53
回答 1查看 1.7K关注 0票数 5

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

有没有其他人经历过这种情况和/或如果这确实是预期的行为,谁能解释这种逻辑吗?海事组织,我期望泄漏期代码覆盖检查不适用于在泄漏期间没有对代码基进行修改的情况。

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

由于覆盖泄漏而导致QG失败的分析摘要(同时覆盖率也保持不变)

当有代码修改并且这些特定的修改具有100%的代码覆盖率时,也会出现此问题。

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

按照要求,我还创建了一个简单的演示项目,它还演示了这种行为(运行带有SQ分析的构建,而第二个构建由于泄漏期间0.0%的覆盖率而失败,尽管没有新代码)。示例项目可以找到这里

感谢有人能向我解释这种行为,因为它似乎与文档相反。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-18 16:44:12

万一有人在这个问题上绊倒了,结果发现这是一条小小的鲱鱼!

在与同事进行了一些良好的讨论之后,我们一致认为,覆盖率、门限条件(在泄漏期间设置为)始终是错误的门配置。

我是在错误的假设下,认为SonarQube方式是内置默认的,是不可编辑的。然而事实证明,这扇门实际上是可编辑的。只读模式仅从v7.0开始按发布说明强制执行。因此,我们的错误配置的根本原因仍在调查中,但我们可以肯定,它不是默认的和推荐的门,根据SonarQube 文档

在上面发布的示例中,网关抱怨附加0.7%的覆盖率低于最低40%的错误级别。条件本身正按配置的方式应用,但实际上不可能启用覆盖的泄漏周期。相反,应该使用NewCode上的覆盖率。

因此,简单的一个线性解决方案:如果使用覆盖率条件,确保在泄漏期间设置为从不(和/或未选中)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49996997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档