Этап тестирования интеграции отсутствует в Java 12 - PullRequest
1 голос
/ 18 апреля 2019

Мне было поручено обновить проект с Maven 3.0 / Java 8 до Maven 3.6 / Java 12. Насколько я знаю, я так и сделал, изменив все виды зависимостей. Теперь при запуске сборки фаза integration-test кажется отсутствующей.

Например, следующий плагин больше не вызывается во время clean verify:

<plugin>
    <groupId>com.google.code.maven-replacer-plugin</groupId>
    <artifactId>maven-replacer-plugin</artifactId>
    <version>1.4.1</version>
    <executions>
        <execution>
            <id>do-magic</id>
            <phase>pre-integration-test</phase>
            <goals>
                <goal>replace</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
            <!-- ... -->
    </configuration>
</plugin>

Я могу легко найти в журнале сборки файл do-magic, поэтому я могу подтвердить, что он вызывается в Java 8, но не в Java 12 (хотя могут быть некоторые другие изменения, о которых я сейчас не знаю).

Вывод отладки:

[DEBUG] Goal:          com.google.code.maven-replacer-plugin:maven-replacer-plugin:1.4.1:replace (do-magic)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- same as above-->
</configuration>

Так что нет никакой информации о том, почему это не выполняется.

Я пытался вызвать цель integration-test вручную, но плагин не вызывается. Дополнительной информации также нет.

Понятия не имею, где искать источник проблемы. Я бы даже не знал, где можно отключить интеграционные тесты (за исключением, может быть, maven.test.skip, который вообще удаляет тестовый модуль из реактора, так что это не так).

Кто-нибудь может пролить свет на эту проблему?

1 Ответ

0 голосов
/ 24 апреля 2019

Проблема не в том, что фаза integration-test пропущена, а в том, что внезапно maven-surefire-plugin решил, что хочет выполнить тесты.Это терпит неудачу, потому что фаза pre-integration-test необходима для тестов.

Я понятия не имею, почему это внезапно произошло, поэтому вот псевдо-исправление, которое снова отключает Surefire:

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
            <!-- We run integration tests with failsafe! -->
            <skip>true</skip>
    </configuration>
</plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...