Подтвердить что ты не робот

Как легче отладить тест maven surefire (используя eclipse в качестве сервера отладки)

Я использую maven/surefire/eclipse, чтобы написать код, а затем проверить/отладить его.

Стандартный способ сделать это - использовать свойство maven.surefire.debug maven. По умолчанию, когда это свойство включено, maven начинает прослушивать порт 5005, и я могу подключиться к отладочному процессу с помощью удаленного отладчика. Когда тест завершает удаленный отладчик, он отключается от сервера.

Этот процесс включает в себя два шага, когда выполняется в eclipse:

  • Выполнить maven
  • Подключение с использованием конфигурации удаленного запуска

То, что я хотел бы достичь, - это уменьшить это:

  • Выполнить maven

Я обнаружил, что установка свойства maven.surefire.debug для некоторых параметров удаленной отладки изменит поведение удаленного отладки. Таким образом, когда я указываю i.e.

-Dmaven.surefire.debug = "- Xdebug -Xrunjdwp: transport = dt_socket, server = n, address = 5005"

тогда сборка попытается подключиться к моему процессу eclipse, прослушивая порт 5005. Таким образом, я инвертирую роли клиента/сервера по умолчанию для maven и eclipse.

Однако с этим подходом существует одна большая проблема. Это ничего мне не дает, так как после завершения сборки maven eclipse перестает слушать порт сервера. Это та часть, которую я не понимаю. Когда я подключаюсь как отладочный клиент от eclipse к, например, серверу WebLogic, он позволяет мне соединять/отключать свободно столько раз, сколько захочу.

Кто-нибудь знает, нормально ли это, или, может быть, мне нужно указать некоторые дополнительные параметры, чтобы облегчить отладку тестов maven?

4b9b3361

Ответ 1

Простой способ:

1. Open the Debug As > .. dialogue box
2. In the goal text box, give
     -DforkMode=never test
3. Run the debug project

Ответ 2

Бит поздно вносил вклад, но думал, что это стоит того.

В конфигурации отладки Eclipse создайте конфигурацию отладки "Maven build":

Цели = -Dmaven.surefire.debug test

Профили = myconfigprofile, weblogic

или для конкретного TestSuite:

Цели = -Dmaven.surefire.debug -Dtest = com.myorg.mypkg/Тест MyTestSuite.java

Профили = myconfigprofile, weblogic

N.B. Не помещайте реквизит в "аргументы JRE/jvm", поскольку это не кажется приостановленным

Создать дополнительную конфигурацию удаленного приложения Java:

Host = localhost

Порт = 5005

Запуск/отладка вашей сборки mvn остановится и будет прослушиваться по 5005 по умолчанию.

Запуск вашей конфигурации удаленного отладки будет прикреплен.

См. также: http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html

Ответ 3

Если вы используете m2eclipse, почему бы не просто щелкнуть правой кнопкой мыши, а затем Отладкa > Тест Maven?

Ответ 4

если вы используете Maven 2.0.8+, тогда это будет очень просто,

Пожалуйста, обратитесь к моему ответу.

Отладка Maven в Eclipse