Java ApacheCommons math上的PIT变异测试显示行覆盖率和变异覆盖率为0%

Java ApacheCommons math上的PIT变异测试显示行覆盖率和变异覆盖率为0%,java,maven,maven-plugin,mutation-testing,pitest,Java,Maven,Maven Plugin,Mutation Testing,Pitest,我正在尝试使用maven进行apache通用数学测试的PIT变异测试 <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <version>0.29</version> <configuration> <targetClasses>

我正在尝试使用maven进行apache通用数学测试的PIT变异测试

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>0.29</version>
    <configuration>
        <targetClasses>
            <param>org.*</param>
        </targetClasses>
        <targetTests>
            <param>org.*</param>
        </targetTests>
    </configuration>
</plugin>

org.pitest
可怜的马文
0.29
组织*
组织*

我把它添加到我的pom.xml
mvn org.pitest:pitest-maven:mutationCoverage
。我可以运行它,但索引文件显示行覆盖率和变异覆盖率为0%。我认为我没有正确给出参数。此外,我还需要对apache common math的一个测试进行变异,例如LUDecomposition。

在运行变异测试分析之前,运行
mvn test
来编译主类和测试类(顺便说一句,验证所有可能影响PIT结果的测试是否通过)

mvn clean
之后,或者在新克隆的存储库上,PIT没有任何类可以变异,您可以得到提到的消息


默认情况下,Maven的PIT插件将groupId作为基本包,因此对于commons math,完全省略配置部分是可以的。同时将PIT版本更新为1.1.0(或最新版本,如果可用),以避免出现已修复的错误。

0.29非常旧-已修复了一些错误。使用1.1.0。输出中有错误吗?您可以与Gist或Pastebin共享输出。。我尝试了版本1.1.0,它的结尾更加突然。下面是1.1.0版的错误。
org.*
的范围非常广-PIT的类也匹配(
org.pitest
)。正如我在回答中所建议的,您可以省略这两个参数进行基本分析,或者将其定义为
org.apache.commons.math3.*
。您所说的“变异一个测试”是什么意思?如果您的意思是只希望为特定类创建突变,则将targetClasses设置为org.apache.commons.math3.linear.LUDecomposition,将targetTests设置为org.apache.commons。这是我在执行mvn测试,然后运行变异分析后遇到的错误。如何防止内存堆空间错误。使用
jvmArgs
(PIT配置)参数增加-Xmx。有关参考信息,请参阅。