2015-11-20 49 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