最近,我向我们的团队介绍了Pitest作为突变检测工具来诊断测试质量,我们都很喜欢它。
在我们的代码库中,我们有很多预先存在的JUnit 4,现在我们正在用JUnit 5编写所有新的单元测试。不幸的是,即使在添加了Pitest JUnit 5插件之后,当我们尝试运行突变测试目标mvn org.pitest:pitest-maven:mutationCoverage
时,它只拾取JUnit 4测试而忽略JUnit 5测试。
我们希望我们的报告包含JUnit 4和5测试。是否有一种方法(hack)可以生成混合使用JUnit 4和JUnit 5的报告?
ForJunit5,我使用这个">构建";Section
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.7.6</version>
<dependencies>
<dependency>
<groupId>org.pitest</groupId>
<artifactId>pitest-junit5-plugin</artifactId>
<version>0.15</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
和我运行pi-test与这个命令:
mvn test-compile org.pitest:pitest-maven:mutationCoverage
正如henry的评论所指出的,我通过升级到最新版本的pitest来修复这个问题。这些版本适合我:
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.7.1</version>
<dependencies>
<dependency>
<groupId>org.pitest</groupId>
<artifactId>pitest-junit5-plugin</artifactId>
<version>0.14</version>
</dependency>
</dependencies>
</plugin>