Инкрементальный анализ PITEST не может найти локальный хеш-файл - PullRequest
0 голосов
/ 08 марта 2019

Я сейчас пробую 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

Я пробовал множество различных настроек, и ни одна из них, похоже, не работает. Я что-то пропустил?

Обновление

В итоге получается, что определение плагина исходило от parent-pom, и его переопределение частично возможно в наследующем child-pom.

1 Ответ

1 голос
/ 09 марта 2019

Там конфиг, который вы выложили, работает правильно.

Вы увидите только сообщение

[INFO] Will read and write history at /var/folders/x1/qp5hhks571q0drb7kd7vjn0c0000gn/T/my.module.groupId.artifactId.version_pitest_history.bin

Если у вас было также , установите withHistory в true.

Кажется, есть ошибка, которая останавливает работу, если оба установлены. Это нужно исправить, но настройка обоих не имеет смысла.

withHistory - это вспомогательный флаг, который устанавливает как входной, так и выходной файлы для указания на местоположение в временном каталоге.

Параметры файла ввода / вывода предназначены для случаев, когда требуется более детальный контроль (например, файл ввода используется совместно для всей команды).

Так что либо установите witHistory, либо установите файлы истории явно, не делайте обоих.

...