使用Eclipse远程运行Junit测试,就好像它在本地运行一样

Yon*_*Yon 3 java eclipse junit

我一直在搜索,阅读本网站和其他人的相关问题,但未能找到解决方案.奇怪的是,一个不存在让我感到奇怪,所以让我在这里详述我的问题:

我经常使用Junit4 + Eclipse来测试我的代码.在某些情况下,某些测试会占用大量CPU和/或内存,导致我的工作站在测试期间无法使用.这是我想要解决的痛苦.

我希望通过远程服务器获得完全相同的行为.我想要:

  1. 仍然能够设置断点并调试我的应用程序.
  2. 使用Eclipse中的Junit视图查看测试的进展情况.
  3. 单击按钮开始测试(允许构建过程和文件复制,但前提是有效).

在我看来,我设想将文件rsyncs到远程服务器的东西,在那里使用与本地机器上完全相同的参数启动java进程,使调试端口可用(不仅仅是localhost)并且eclipse挂钩到它使debug和junit视图都工作.

我怎么能这样做?

几个可能有助于我们找到解决方案的主要问题:

  1. Eclipse在本地运行时如何与java进程通信(出于调试目的和Junit视图)?
  2. 我如何参与为JUnit测试生成java进程的过程,以便将所需的文件复制到远程服务器上?
  3. 如何使进程远程而不是本地生成?
  4. 如何让Eclipse挂钩到远程主机而不是localhost?

Eug*_*hov 6

最简单的方法是使用以下命令在远程mashine上调用命令行JUnit runner:

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8998,server=y,suspend=y -cp ... org.junit.runner.JUnitCore <test class name>
Run Code Online (Sandbox Code Playgroud)

因此,它将等待您从Eclipse的端口8998连接远程调试器.

您还可以使用Eclipse的目标管理工具将文件传输到远程系统并启动远程命令.项目页面上有几个教程.