我正在寻找为 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 测试陷阱?