Java 从IDE内部在远程服务器上运行TestNG/JUnit集成测试
在我的IDE(Eclipse或NetBeans,没关系)中,我有一些TestNG测试类(但我的问题也涉及到远程JUnit测试),它们是集成测试。这些测试需要集成服务器才能运行,不能在本地计算机上运行。他们需要集成服务器的完整环境,而不仅仅是JavaEE容器相关的东西(=>没有Arquillian或JEEUnit) 现在我希望能够从IDE(Eclipse)中运行这些测试——最好是使用TestNG插件——但当我启动它们时,它们实际上应该在远程集成服务器上运行 是否可以从我的IDE中在远程服务器上启动集成测试? 我喜欢在远程服务器上有某种代理,它等待测试请求并执行它们。但是正如我所说的,如果从TestNG插件内部运行,那就太好了 我是否需要一些变通方法,例如Ant脚本(希望不是)或一些Maven魔术?最佳实践是什么Java 从IDE内部在远程服务器上运行TestNG/JUnit集成测试,java,jakarta-ee,junit,integration-testing,testng,Java,Jakarta Ee,Junit,Integration Testing,Testng,在我的IDE(Eclipse或NetBeans,没关系)中,我有一些TestNG测试类(但我的问题也涉及到远程JUnit测试),它们是集成测试。这些测试需要集成服务器才能运行,不能在本地计算机上运行。他们需要集成服务器的完整环境,而不仅仅是JavaEE容器相关的东西(=>没有Arquillian或JEEUnit) 现在我希望能够从IDE(Eclipse)中运行这些测试——最好是使用TestNG插件——但当我启动它们时,它们实际上应该在远程集成服务器上运行 是否可以从我的IDE中在远程服务器上启动
我知道我也可以为我的应用程序创建Web服务,然后我可以从本地单元测试调用它们。但我想知道,如果没有Web服务,是否也有可能。不幸的是,我没有现成的解决方案,但我想我可以给你一些提示,因为我花了一些时间思考这个问题 我不知道TestNG,但JUnit能够插入您自己的测试执行器。我确信TestNG具有适当的功能。所以,找到它并熟悉它。因为您可以控制如何调用您的测试,所以您甚至可以执行其他操作,而不是调用测试用例的方法。例如,调用将使测试远程运行的远程API 显然,可以是web服务使远程代理(根据您的建议)在远程计算机上运行测试。这很好,但我更喜欢无代理或半无代理解决方案。我是什么意思?例如,如果您的远程计算机是Unix,则可以执行SSH或Telnet连接并运行命令行。在这种情况下,您可以创建mvn或ant脚本,使用ssh复制到远程计算机,然后运行它。脚本将运行您的测试。所以它几乎是无代理的。您只需要java安装和SSH支持 如果远程计算机是windows,则可以使用Telnet或WMI。因此,如果安全性不是问题,但需要跨平台支持,请使用Telnet
如果您需要有关SSH/Telnet的更多帮助,请随时与我联系。您将如何实现这一点在很大程度上取决于您使用的是什么集成服务器和IDE,以及应用程序是什么。我假设您正在使用Eclipse;我假设您正在使用,因为它是最容易让它做您想做的事情的 大部分工作都是开箱即用的。然而,有一点将需要一些额外的工作 您将要执行以下操作:
$programFile
HTTP://:8080//buildwithparameters?TestingProgram=$programFile