我正在尝试使用http://arquillian.org/arquillian-cube扩展创建Arquillian单元测试,您可以在服务器端设置断点 .
我已经创建了一个成功执行简单测试的项目(所有细节都在这里):
https://github.com/scetix/arquillian-cube-wildfly-quickstart
有没有办法在测试开始时自动将IntelliJ IDEA调试器连接到在Docker容器中运行的Wildfly?
我正在尝试使用http://arquillian.org/arquillian-cube扩展创建Arquillian单元测试,您可以在服务器端设置断点 .
我已经创建了一个成功执行简单测试的项目(所有细节都在这里):
https://github.com/scetix/arquillian-cube-wildfly-quickstart
有没有办法在测试开始时自动将IntelliJ IDEA调试器连接到在Docker容器中运行的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
:您还需要为Docker Compose(https://github.com/scetix/arquillian-cube-wildfly-quickstart/blob/master/src/test/resources/docker-compose.yml#L5)设置端口绑定 . 将调试器的端口8787添加到YAML文件中(第一个数字 - 这里是58787 - 可能是您喜欢的任何数字):
最后启动IntelliJ作为远程调试器,设置Docker主机的IP(本机Docker为localhost,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 .