面对(杀伤率为 NaN% (0 0)) 在 Jenkins 中运行 Mutation test pittest 时出现问题

Facing (Kill ratio is NaN% (0 0)) Issue when running Mutation test pittest in Jenkins

提问人:Nisarg Bhagavantanavar 提问时间:7/17/2023 最后编辑:Nisarg Bhagavantanavar 更新时间:10/22/2023 访问量:133

问:

嗨,我们最近在迁移后从 java 11 迁移到 java 17,在 Jenkins 中运行 MutationTest 时,我们面临以下问题

当我们在 Jenkins 中运行时,杀伤率为 NaN% (0 0)

<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.11.0</version>
<dependencies>
<dependency>
<groupId>org.pitest</groupId>
<artifactId>pitest-junit5-plugin</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
<configuration>
<argLine>
--add-opens java.base/java.lang=ALL-UNNAMED
</argLine> 
</configuration> 
</plugin>

依赖性 我们有 使用

  • Jenkins 插件 - pitmutation:1.0-18
  • pitest-maven:1.11.0
  • pitest-junit5-插件:1.1.2

我们最初尝试使用以下版本,但遇到了同样的问题

  • Jenkins 插件 - pitmutation:1.0-18
  • pitest-maven:1.14.2
  • pitest-junit5-插件:1.2.0

我们也尝试了以下版本,但遇到了同样的问题

  • Jenkins 插件 - pitmutation:1.0-18
  • pitest-maven:1.13.2
  • pitest-junit5-插件:1.0.0

但是我们仍然有同样的问题?

在目标文件夹中的本地中,我能够查看报告覆盖率的html文件

在 Jenkins 中,我们能够获得以下关注

2023-07-17 14:56:31.635  >> Line Coverage: 858/1021 (84%)
2023-07-17 14:56:31.635  >> Generated 280 mutations Killed 203 (73%)
2023-07-17 14:56:31.635  >> Mutations with no coverage 52. Test strength 89%
2023-07-17 14:56:31.635  >> Ran 251 tests (0.9 tests per mutation)
2023-07-17 14:56:31.635  Enhanced functionality available at https://www.arcmutate.com/

但我们得到的杀戮率是 NaN% (0 0) 和坑报告部分没有 0,0

Jenkins java-17 突变测试 pitest

评论


答:

1赞 Nisarg Bhagavantanavar 10/22/2023 #1

嗨,所有问题都出在我们的 jenkins 中安装的 Jenkins 插件版本 - 如果您对 Jenkins 具有管理员访问权限,您可以验证安装的插件版本

https://plugins.jenkins.io/pitmutation/releases/

从上面的链接中可以看出,这些插件版本(最新的 1.0-18)与最新的 pitest-maven:1.14.0 不兼容

所以降级到 pitest-maven:1.7.3 和 junit5 插件到 0.15,然后它开始工作,参考附上的 snip

compatibility

POM 文件:enter image description here