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

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

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

Этот процесс включает два шага при использовании в eclipse:

  1. Запустите maven
  2. Подключитесь с использованием конфигурации удаленного запуска

Я бы хотел уменьшить это до:

  1. Запустите maven

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

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

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

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

  1. Запуск maven

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

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

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

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

  1. Запуск maven

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

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

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

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

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

26
задан Pascal Thivent 24 September 2010 в 16:26
поделиться