我们在声纳尔贝中使用pitest插件,并建立了突变覆盖率的质量门,因为它比其他覆盖率测量更有价值。 仅当推送不使用pitest的项目时,根本不会触发质量门。 是否可以定义一个质量门来检测根本没有为项目定义坑? 谢谢
答案 0 :(得分:0)
您问题的简单答案:不,不是。缺少度量标准无法触发质量门条件。因此,必须计算一个指标。 但是最新版本的sonar-pitest-plugin(0.9)仅在存在突变分析数据(=存在最严重的报告)时才计算覆盖率信息。
但是,更改并不太复杂,如果需要紧急修复,请在第84行检查PitestComputer类,并添加以下else块:
if (mutationsTotal != null) {
...
} else {
context.addMeasure(PitestMetrics.MUTATIONS_KILLED_PERCENT_KEY, 0.0);
}
编译并手动将其安装到您的实例中。
也就是说,我想给您一个简短的提示,在SonarQube中有一个更新的插件可以解决突变分析(完全公开:我是作者),其中包含一些新功能,规则等。
可从市场上购买该插件(名为“ Mutation Analysis”)。 该插件与sonar-pitest-plugin具有相同的限制,但是我刚刚创建了一个新的问题来解决您的问题:
https://github.com/devcon5io/mutation-analysis-plugin/issues/13
编辑: 此功能是在version 1.3
中实现的