0

Я хочу запустить некоторые тесты против компонентов Java EE 7. Я немного читал о Аркиллиан, кажется, хорошо подходит для таких проблем. Однако у меня проблема с конфигурацией. Мне удалось запустить его на встроенный GlassFish, управляемый WildFly и удаленный WildFly. В идеале я бы хотел использовать более поздний вариант для тестов, так как WildFly - это сервер приложений по моему выбору для приложения, а удаленный режим будет использовать запущенный сервер, а не запускать его каждый раз, когда я хочу запустить тесты. Тем не менее, я страдаю прикреплением отладчика к WildFly 9.Удаленный отладчик Arquillian WildFly 9

Я раскомментировал линию в standalone.conf.bat:

set "JAVA_OPTS=%JAVA_OPTS% -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n" 

и добавил ниже части к arquillian.xml:

<engine> 
    <property name="deploymentExportPath">target/</property> 
</engine> 
<container qualifier="wildfly" default="true"> 
    <protocol type="jmx-as7"> 
     <property name="executionType">REMOTE</property> 
    </protocol> 
    <configuration> 
     <property name="javaVmArguments">-Xmx512m -XX:MaxPermSize=128m -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8787</property> 
    </configuration> 
</container> 

Сам тест выполняется правильно (я могу видеть, правильно результаты тестов и консоль WildFly показывают вывод развертывания и консоли, как ожидалось). Однако отладчик все еще не останавливается в точке останова. Я начинаю его с Intellij Idea в качестве обычного теста JUnit. Вот предупреждение, которое я получаю после начала каждого теста:

WARNING: Configuration contain properties not supported by the backing object org.jboss.as.arquillian.container.remote.RemoteContainerConfiguration 
Unused property entries: {javaVmArguments=-Xmx512m -XX:MaxPermSize=128m -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8787} 
Supported property names: [managementAddress, password, managementPort, managementProtocol, username] 
    enter code here 

Что я здесь делаю неправильно?

ответ

2

Чтобы выполнить отладчик, вам необходимо подключиться к wildfly в качестве удаленной службы. Опция проверки отладки будет только отлаживать клиентскую часть теста, а не выполнение на стороне сервера.

Эти инструкции должны помочь вам подключиться. https://www.jetbrains.com/idea/help/run-debug-configuration-remote.html

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

+0

Спасибо, что работает. Я сделал удаленную конфигурацию, чтобы сначала подключиться к отладчику, а затем, когда я запускаю свои тесты в режиме отладки, отладчик останавливается на контрольных точках. Большое спасибо за это – vers

Смежные вопросы