PITEST 增量分析找不到本地哈希文件
PITEST incremental analysis cannot find local hash file
我目前正在尝试 PITest,目前它运行正常。然而,它非常慢,到目前为止唯一的解决方案是使用增量分析,这可能会解决缓慢问题。我试图按照文档中的描述进行设置。这是我的配置:
<build>
<plugins>
<plugin>
<executions>
<execution>
<id>pitest-mutation-coverage</id>
<goals>
<goal>mutationCoverage</goal>
</goals>
</execution>
</executions>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.4.6</version>
<configuration>
<threads>8</threads>
<timestampedReports>false</timestampedReports>
<historyInputFile>${project.basedir}/pitest.history</historyInputFile>
<historyOutputFile>${project.basedir}/pitest.history</historyOutputFile>
<avoidCallsTo>
<avoidCallsTo>java.util.logging</avoidCallsTo>
<avoidCallsTo>org.slf4j</avoidCallsTo>
</avoidCallsTo>
<mutators>
<mutator>DEFAULTS</mutator>
</mutators>
</configuration>
</plugin>
</plugins>
但是,实际上我没有看到 PITest 将 historyInput 和 historyOutput 考虑在内,而是在我看到的日志中
[INFO] Will read and write history at /var/folders/x1/qp5hhks571q0drb7kd7vjn0c0000gn/T/my.module.groupId.artifactId.version_pitest_history.bin
我尝试了很多不同的设置,其中 none 似乎有效。
有什么我遗漏的吗?
更新
最后,事实证明插件定义来自父 pom,并且在继承子 pom 中覆盖它是部分可能的。
您发布的配置工作正常。
您只会看到消息
[INFO] Will read and write history at /var/folders/x1/qp5hhks571q0drb7kd7vjn0c0000gn/T/my.module.groupId.artifactId.version_pitest_history.bin
如果您也将withHistory
设为真。
似乎存在一个错误,如果两者都已设置,该错误会停止工作。这需要修复,但同时设置两者并没有多大意义。
withHistory
是一个方便的标志,它将输入文件和输出文件都设置为指向临时目录中的某个位置。
in/out 文件参数适用于需要更细粒度控制的情况(例如,输入文件在团队中共享)。
所以要么设置 witHistory
要么显式设置历史文件,不要两者都做。
我目前正在尝试 PITest,目前它运行正常。然而,它非常慢,到目前为止唯一的解决方案是使用增量分析,这可能会解决缓慢问题。我试图按照文档中的描述进行设置。这是我的配置:
<build>
<plugins>
<plugin>
<executions>
<execution>
<id>pitest-mutation-coverage</id>
<goals>
<goal>mutationCoverage</goal>
</goals>
</execution>
</executions>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.4.6</version>
<configuration>
<threads>8</threads>
<timestampedReports>false</timestampedReports>
<historyInputFile>${project.basedir}/pitest.history</historyInputFile>
<historyOutputFile>${project.basedir}/pitest.history</historyOutputFile>
<avoidCallsTo>
<avoidCallsTo>java.util.logging</avoidCallsTo>
<avoidCallsTo>org.slf4j</avoidCallsTo>
</avoidCallsTo>
<mutators>
<mutator>DEFAULTS</mutator>
</mutators>
</configuration>
</plugin>
</plugins>
但是,实际上我没有看到 PITest 将 historyInput 和 historyOutput 考虑在内,而是在我看到的日志中
[INFO] Will read and write history at /var/folders/x1/qp5hhks571q0drb7kd7vjn0c0000gn/T/my.module.groupId.artifactId.version_pitest_history.bin
我尝试了很多不同的设置,其中 none 似乎有效。 有什么我遗漏的吗?
更新
最后,事实证明插件定义来自父 pom,并且在继承子 pom 中覆盖它是部分可能的。
您发布的配置工作正常。
您只会看到消息
[INFO] Will read and write history at /var/folders/x1/qp5hhks571q0drb7kd7vjn0c0000gn/T/my.module.groupId.artifactId.version_pitest_history.bin
如果您也将withHistory
设为真。
似乎存在一个错误,如果两者都已设置,该错误会停止工作。这需要修复,但同时设置两者并没有多大意义。
withHistory
是一个方便的标志,它将输入文件和输出文件都设置为指向临时目录中的某个位置。
in/out 文件参数适用于需要更细粒度控制的情况(例如,输入文件在团队中共享)。
所以要么设置 witHistory
要么显式设置历史文件,不要两者都做。