0
我需要在完整的端到端测试中测试2个或更多的Java客户端之间的交互。如何测试不同虚拟机上的2个或更多客户端之间的交互?
没有GUI的理想应该是类似(Junit的语法)的东西:
@Test
public void EndToEndTest(){
App firstApp = new App();
App secondApp = new App();
String msg = "something";
firstApp.send(msg); //this method will magically send msg to secondApp
String msgReceived = secondApp.getLastMsg();
AssertEquals(msgReceived, msg);
}
上面的代码是不是我想要的,因为它使在相同的虚拟机上运行的“应用程序”。
我能够自己思考的解决方案是编写一个假主,实例化secondApps并将其所有输出写入文件,然后用系统调用启动它,然后检查结果,但它似乎是一个真正的矫枉过正。而且有了这样的策略,测试GUI也会更困难(如果不是不可能的话)。
谢谢你的帮助。