0

我正在嘗試使用http://arquillian.org/arquillian-cube擴展名創建Arquillian單元測試,您可以在其中設置服務器端的斷點。將IntelliJ IDEA調試器附加到由Arquillian開始的Wildfly Docker圖像

我已經創建成功地執行一個簡單的測試項目(所有的細節都在這裏):
https://github.com/scetix/arquillian-cube-wildfly-quickstart

有沒有的IntelliJ IDEA的調試器會自動連接到Wildfly在泊塢窗容器中運行時的測試任何方式開始?

回答

1

自動,我不這麼認爲。對於Docker示例,從被認爲是遠程服務器的IDE的角度來看。

所以你需要做的是首先啓動調試啓用Wildfly(http://tools.jboss.org/blog/2015-03-17-debugging-an-externally-launched-wildfly.html)並正確公開調試器端口(https://github.com/scetix/arquillian-cube-wildfly-quickstart/blob/master/src/test/resources/Dockerfile#L12)。將這些行到你Dockerfile

# Expose JBoss/Wildfly management port 
EXPOSE 9990 
# Expose JBoss/Wildfly debug port 
EXPOSE 8787 

您還需要設置端口多克爾撰寫(https://github.com/scetix/arquillian-cube-wildfly-quickstart/blob/master/src/test/resources/docker-compose.yml#L5)結合。添加端口8787的調試器的YAML文件(第一號 - 58787在這裏 - 可以是任意數量的您喜歡):

ports: 
    - 58787:8787/tcp 

最後啓動的IntelliJ作爲遠程調試器,設置泊塢窗主機的IP(本地主機如果是本地Docker,則在Docker Machine的情況下爲Docker Machine IP)。

你可以看看如何用IntelliJ做到這一點:http://blog.trifork.com/2014/07/14/how-to-remotely-debug-application-running-on-tomcat-from-within-intellij-idea/。這個例子是針對Tomcat的;改爲指定JBoss。