Java 使用Eclipse远程运行Junit测试,就像它在本地运行一样
我四处搜索,在这个网站和其他网站上阅读相关问题,但没有找到解决方案。我感到奇怪的是,一个人并不存在,所以让我在这里详细说明我的问题: 我定期使用Junit4+Eclipse来测试我的代码。在某些情况下,某些测试可能会占用大量CPU和/或内存,使我的工作站在测试期间无法使用。这是我试图解决的难题 我希望通过远程服务器获得完全相同的行为。我想:Java 使用Eclipse远程运行Junit测试,就像它在本地运行一样,java,eclipse,junit,Java,Eclipse,Junit,我四处搜索,在这个网站和其他网站上阅读相关问题,但没有找到解决方案。我感到奇怪的是,一个人并不存在,所以让我在这里详细说明我的问题: 我定期使用Junit4+Eclipse来测试我的代码。在某些情况下,某些测试可能会占用大量CPU和/或内存,使我的工作站在测试期间无法使用。这是我试图解决的难题 我希望通过远程服务器获得完全相同的行为。我想: 仍然能够设置断点并调试我的应用程序 使用Eclipse中的Junit视图查看测试的进度 单击按钮启动测试(允许生成过程和文件复制,但只有在有效的情况下) 在
最简单的方法是使用以下命令在远程mashine上调用:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8998,server=y,suspend=y -cp ... org.junit.runner.JUnitCore <test class name>
java-Xdebug-Xrunjdwp:transport=dt_socket,address=8998,server=y,suspend=y-cp。。。org.junit.runner.JUnitCore
因此,它将一直等待,直到您从Eclipse在端口8998连接远程调试器为止
您还可以使用Eclipse的工具将文件传输到远程系统并启动远程命令。项目页面上有多个教程。您可以设置jenkins CI服务器,通过git同步代码(或使用ftp或其他方式复制代码),在git钩子或通过脚本触发的jenkins作业中执行测试。然后,像尤金·库莱肖夫建议的那样,远程调试到正在运行的测试过程中。这个过程可以由您从eclipse调用的ant脚本自动化。应该有一个mylin连接器(),通过它可以监视正在运行的测试。我不知道是否可以使用eclipse的标准JUnit视图来查看正在运行的测试,而不使用一些自定义插件(如果有的话).为此尝试vs code远程ssh扩展。我也一直在考虑寻找eclipse代码的JUnit插件,如果这是最后一个办法,我会分出一个解决方案。我理解你的动机是你的测试消耗了太多的资源。是测试还是测试的代码降低了机器的速度?您是否使用数据库设置和每个测试用例的拆卸来运行integrationtests?测试的代码会降低机器的速度。每个测试类都有设置和分解,通常包括10-15个测试。我如何使它成为一个无缝的过程,在Eclipse中点击一个按钮将同步代码,启动java进程并附加到它?您是说在远程主机上启动java进程吗?我想您可以编写一个脚本,开始使用Eclipse的外部工具配置(例如,使用ssh启动远程命令)。然后,您可以启动“远程Java应用程序”启动配置以连接到该远程进程。是否有一种方法可以一次将所有这些结合起来?总有一种方法。但是您可能需要编写自己的Eclipse插件。这是相当具体的你自己的需要。