Pregunta

Estoy buscando escribir un conjunto de pruebas de integración del sistema para una aplicación de cliente RMI. Me gustaría iniciar el servidor RMI en JUnit 3.8.2 y luego ejecutar esas pruebas. ¿Alguien ha hecho esto?

Estoy usando algo como esto en un pojo con main:

    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:");

    } 


¿Cuál es la mejor manera de convertir esto en una prueba junit para que el registro se inicie solo una vez y las pruebas solo se ejecuten si el registro realmente se inicia? Me gustaría evitar tener una clase de prueba con un método de prueba con todo el código de prueba de main allí, que es lo que me encontré haciendo antes de venir aquí.

Además, ¿qué debo tener en cuenta al escribir mis exámenes? ¿Tienes alguna prueba de RMI?

¿Fue útil?

Solución

Si está utilizando JDK 5 o superior, recomendaría actualizar a JUnit 4.4. Las anotaciones son de gran ayuda.

También recomendaría leer esto . No veo por qué escribirías una clase principal separada para ejecutar pruebas. ¿No es eso lo que se supone que debe hacer el TestRunner?

Comenzaría el registro en una configuración y lo cerraría con un método de desmontaje.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top