В IntelliJ, как отладить цель теста maven?


используя файлы intellij и maven pom, как отлаживать тесты, выполняемые внутри цели теста maven?

когда я запускаю их непосредственно в коде,он жалуется на отсутствие профилей, которые я отметил в проектах Maven intellij.

5 60

5 ответов:

Как насчет щелчка правой кнопкой мыши по вашей цели и "Debug [your goal]" (в вашем случае тестовая цель)?

debug goal

http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html

в IDEA, запустите тест в режиме отладки"mvn -DforkMode=never test"

Обновлено: откройте конфигурацию запуска / отладки на вкладке "Runner", добавьте -DforkMode=never

enter image description here

(отмечено @mikeapr4: новые версии плагина surefire (2.14+) используют mvn -DforkCount=0 test)

Я выполняю тесты со следующими параметрами:

mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=6666 -Xnoagent -Djava.compiler=NONE" test

... а затем подключитесь к Maven с помощью удаленного отладчика.

-DforkMode=never больше не работает, теперь он устарел в SureFire.

использовать -DforkCount=0 вместо этого при использовании плагина surefire 2.14+.

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

foolshat не принесет ценную информацию по моей проблеме.

У меня есть два решения, 1. Используя вашу идею, добавив VM option-DforkMode=never; вы должны запустить его в режиме отладки. 2. Настройка удаленной отладки, указав сокет и в этом случае forkMode не является необходимый.

Это просто резюме того, что я пережил.