2015-11-20 46 views
0

我想对Java EE 7组件运行一些测试。我读了一些关于Arquillian的文章,似乎很适合这类问题。虽然我有配置问题。我设法让它在嵌入的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> 

测试本身正确执行(I可以看到正确的测试结果和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