当前位置:  开发笔记 > 编程语言 > 正文

JUnit和RMI应用程序的最佳实践,RMI Registry

如何解决《JUnit和RMI应用程序的最佳实践,RMIRegistry》经验,为你挑选了1个好方法。

我正在为RMI客户端应用程序编写一组系统集成测试.我想在JUnit 3.8.2中启动RMI服务器,然后运行这些测试.有没有人这样做过?

我在使用main的pojo中使用类似的东西:


    import java.rmi.registry.*;

    ....

    //setup
    try {

        java.rmi.registry.LocateRegistry.createRegistry(1099);
        System.out.println("RMI registry ready.");

        this.StartMyServer();

        // client set up

        MyClient m = null;
        m = (MyClient) Naming.lookup("//MyHost/MyServer", m);

        // tests here

    } catch (MyClientException me) {

        System.out.println("MyClient fall down go boom");

    } catch (MyServerException me) {

        System.out.println("MyServer fall down go boom");

    } catch (Exception e) {

        System.out.println("Exception starting RMI registry:");

    } 


将此转换为junit测试的最佳方法是什么,因此注册表只启动一次,并且仅在注册表实际启动时才运行测试?我想避免让测试类有一个测试方法,其中包含来自main的所有测试代码,这是我在来到这里之前发现的.

另外,在编写测试时应该注意什么?任何RMI测试都有问题吗?



1> duffymo..:

如果您使用的是JDK 5或更高版本,我建议您升级到JUnit 4.4.注释是一个很好的帮助.

我也建议读这个.我不明白为什么你要编写一个单独的主类来运行测试.这不是TestRunner应该做的吗?

我在设置中启动注册表并在拆解方法中将其关闭.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有