我正在寻找为 RMI 客户端应用程序编写一组系统集成测试。我想在 JUnit 3.8.2 中启动 RMI 服务器,然后运行这些测试。有人做过吗?
我在主要的 pojo 中使用这样的东西:
导入 java.rmi.registry.*;
……
//设置
尝试 {
java.rmi.registry.LocateRegistry.createRegistry(1099);
System.out.println("RMI 注册准备就绪。");
this.StartMyServer();
// 客户端设置
我的客户 m = null;
m = (MyClient) Naming.lookup("//MyHost/MyServer", m);
// 这里测试
} 赶上(MyClientException 我){
System.out.println("MyClient 跌倒去繁荣");
} 捕捉(MyServerException 我){
System.out.println("MyServer 跌倒去繁荣");
} 捕捉(异常 e){
System.out.println("异常启动 RMI 注册表:");
}
将其转换为 junit 测试的最佳方法是什么,以便注册表仅启动一次并且仅在注册表实际启动时才运行测试?我想避免使用一种测试方法的测试类,其中包含来自 main 的所有测试代码,这是我在来到这里之前发现自己正在做的事情。
另外,在编写测试时我应该注意什么?任何 RMI 测试陷阱?