Я пытаюсь запустить PITest на основной версии light4j (https://github.com/networknt/light-4j), проект, который я выбрал более или менее случайно, чтобы опробовать PITest на реальном коде.
Тест прошел нормально на большинстве модулей, за исключением «cient» модуля light4j. При работе
mvn -X test org.pitest:pitest-maven:mutationCoverage
В папке light-4j/client нормальный модульный тест завершается (все тесты в порядке, 3 пропущены), но PITest, похоже, не генерирует и не выполняет мутации. Последние сообщения
[INFO] Adding org.pitest:pitest to SUT classpath
[INFO] Mutating from /Users/jan/dev/inno/light-4j/client/target/classes
[INFO] Defaulting target classes to match packages in build directory
/-\|/-\|/-\|/-\|/-stderr : WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.xnio.nio.NioXnio$2 (file:/Users/jan/.m2/repository/org/jboss/xnio/xnio-nio/3.3.8.Final/xnio-nio-3.3.8.Final.jar) to constructor sun.nio.ch.KQueueSelectorstderr : Provider()
WARNING: Please consider reporting this to the maintainers of org.xnio.nio.NioXnio$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in astderr : future release
И ничего не происходит после этого.
Обычная сборка light4j завершается успешно.
В чем может быть проблема?
[редактирование от 5 февраля 2020 г.: я разветвил репозиторий light4j: https://github.com/jvermeir/light-4j Затем я выполнил обычную сборку mvn clean install
, поэтому все артефакты находятся в моем локальном репозитории maven. Затем я изменил pom.xml на корневом уровне проекта light4j, добавив
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.4.10</version>
<dependencies>
<!-- <dependency>-->
<!-- <groupId>org.pitest</groupId>-->
<!-- <artifactId>pitest-junit5-plugin</artifactId>-->
<!-- <version>0.10</version>-->
<!-- </dependency>-->
</dependencies>
</plugin>
в разделе сборки Наконец, я выполнил тесты с включенным PiTest из папки клиента: mvn -X test org.pitest:pitest-maven:mutationCoverage > ../buildlog.txt
В результате появился файл build.txt, а также пара строк, которые отображаются в терминале:
17:10:30 PIT >> INFO : Verbose logging is disabled. If you encounter a problem, please enable it before reporting an issue.
17:10:30 PIT >> INFO : Sending 147 test classes to minion
17:10:30 PIT >> INFO : Sent tests to minion
17:10:30 PIT >> INFO : MINION : 17:10:30 PIT >> INFO : Checking environment
17:10:32 PIT >> INFO : MINION : 17:10:32 PIT >> INFO : Found 18 tests
17:10:32 PIT >> INFO : MINION : 17:10:32 PIT >> INFO : Dependency analysis reduced number of potential tests by 0
17:10:32 PIT >> INFO : MINION : 17:10:32 PIT >> INFO : 18 tests received
17:10:33 PIT >> INFO : MINION : WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.powermock.reflect.internal.WhiteboxImpl (file:/Users/jan/.m2/repository/org/powermock/powermock-reflect/2.0.2/powermock-reflect-2.0.2.jar) to method java
17:10:33 PIT >> INFO : MINION : .lang.Object.clone()
WARNING: Please consider reporting this to the maintainers of org.powermock.reflect.internal.WhiteboxImpl
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access
17:10:33 PIT >> INFO : MINION : operations will be denied in a future release
17:11:24 PIT >> INFO : MINION : 17:11:24 PIT >> WARNING : More threads at end of test (46) com.networknt.client.Http2ClientTest than start. (5)
17:11:24 PIT >> INFO : Calculated coverage in 54 seconds.
17:11:25 PIT >> INFO : Created 92 mutation test units
Конец build.txt выглядит так:
[INFO] Adding org.pitest:pitest to SUT classpath
[INFO] Mutating from /Users/jan/dev/inno/light4jfork/light-4j/client/target/classes
[INFO] Defaulting target classes to match packages in build directory
-stderr : WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.xnio.nio.NioXnio$2 (file:/Users/jan/.m2/repository/org/jboss/xnio/xnio-nio/3.3.8.Final/xnio-nio-3.3.8.Final.jar) to constructor sun.nio.ch.KQueueSelectorstderr : Provider()
WARNING: Please consider reporting this to the maintainers of org.xnio.nio.NioXnio$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in astderr : future release