我们在 sonarqube 中使用 Pitest 插件并设置突变覆盖质量门,因为它比其他覆盖测量更有价值。只是,当推送一个不使用pitest的项目时,根本不会触发质量门。是否有可能定义一个质量门来检测根本没有为项目定义的pitest?谢谢
问问题
82 次
1 回答
0
简单回答您的问题:不,不是。没有度量标准不能触发质量门条件。所以必须计算一个指标。但最新版本的 sonar-pitest-plugin (0.9) 仅在存在突变分析数据时才计算覆盖率信息(= 存在最糟糕的报告)。
但是,更改并不过分复杂,如果您需要紧急修复,请检查第 84 行的PitestComputer类并添加以下 else 块:
if (mutationsTotal != null) {
...
} else {
context.addMeasure(PitestMetrics.MUTATIONS_KILLED_PERCENT_KEY, 0.0);
}
编译它并将其手动安装到您的实例中。
也就是说,我想给你一个简短的提示,SonarQube 中有一个新的插件解决了突变分析(完全披露:我是作者),具有几个新功能、规则等。
该插件可通过市场获得(名为“突变分析”)。该插件与 sonar-pitest-plugin 具有相同的限制,但我刚刚创建了一个新问题来解决您的问题:
https://github.com/devcon5io/mutation-analysis-plugin/issues/13
编辑:此功能在1.3 版中实现
于 2018-07-31T13:01:40.717 回答