Как я могу отлаживать свои тесты в режиме разработки сервера Open Liberty (используя Liberty-maven-plugin) и включать/выключать отладчик?

РЕЗЮМЕ

Как я могу итеративно запускать модульные/интеграционные тесты в режиме разработки плагина Liberty-Maven-Plugin и легко включать и выключать запуск отладчика в JVM, выполняя сами тесты?

ФОН

Хотя плагин Liberty-maven-plugin по умолчанию запускает сервер Open Liberty в режиме отладки, иногда вам необходимо выполнить отладку исходного кода самих модульных/интеграционных тестов. Режим разработки Liberty-maven-plugin запускает сервер и (по умолчанию) запускает мои тесты каждый раз, когда я нажимаю <Enter>.

Я могу использовать стандартные задокументированные подходы, которые по умолчанию запустит разветвленную JVM, ожидающую отладчика на порту 5005, например:

mvn -Dmaven.failsafe.debug liberty:dev

Но что, если я уже запустил режим разработки без этого свойства, установленного в командной строке?

Есть ли простой способ включить отладчик постфактум? Или включать/выключать его для выполнения?


person Scott Kurz    schedule 29.01.2021    source источник


Ответы (1)


Простой способ переключить режим отладки для тестов — использовать свойства проекта Maven и динамически комментировать/раскомментировать стандартные свойства отладки тестов, например. maven.failsafe.debug.

Например, это запустит ИТ в разветвленной JVM, приостановленной и ожидающей отладчика на порту 5005:

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.failsafe.debug>true</maven.failsafe.debug>
        <!-- 
          <maven.surefire.debug>true</maven.surefire.debug>
        -->
    </properties>

Вы также можете настроить плагин maven-failsafe в вашем pom.xml с обычной конфигурацией плагина, чтобы настроить поведение не по умолчанию.

Это должно работать с последними (начиная с v3.1) версиями плагина Liberty-Maven, например:

        <plugin>
            <groupId>io.openliberty.tools</groupId>
            <artifactId>liberty-maven-plugin</artifactId>
            <version>3.3.3</version>
        </plugin>

Это можно применить к простому образцу приложения, подобному приведенному здесь: https://openliberty.io/guides/getting-started.html

ПРЕДУПРЕЖДЕНИЕ

Не совершайте ошибку, переключая значение на false, так как вы действительно настраиваете этот параметр. Просто закомментируйте его полностью, чтобы избежать приостановки для отладчика.

person Scott Kurz    schedule 29.01.2021