완벽한 엔드 투 엔드 테스트에서 두 개 이상의 Java 클라이언트 간의 상호 작용을 테스트해야합니다.
다른 VM에서 둘 이상의 클라이언트 간의 상호 작용을 테스트하려면 어떻게해야합니까?
@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);
}
위의 코드는이 같은 VM에서 실행되는 "응용 프로그램"을 만들기 때문에 내가 원하는되지 않습니다 : GUI에없이
는 이상적으로는 (의 JUnit 구문) 비슷한해야합니다.
내 스스로 생각할 수있는 솔루션은 secondApp를 인스턴스화하고 모든 출력을 파일에 쓰고 시스템 호출로 실행 한 다음 결과를 확인하는 것입니다. 진짜 과잉. 또한 이와 같은 전략을 사용하면 GUI를 테스트하는 것이 더 어렵습니다 (불가능하지는 않지만).
도움 주셔서 감사합니다.