Test

Un Test con jmoordbunit es un EJB que se ejecuta al iniciar el contenedor.

Anotaciones

Debe contener las siguientes anotaciones:

  • @Startup

  • @Singleton

  • @DependsOn(Name_ofEJB_dependiente)

  • Report(path="path_reportes") //Opcional

  • @Test (en los métodos que se realizara el testing)

Detalle:

@Startup:

  • Indica que se ejecutara al iniciar la aplicaciòn en el contenedor

@Singleton

  • Indicamos que sera unico

@DependsOn()

  • El primero que deseamos ejecutar debe implementar la clase @DependsOn("TestEnvironment")

  • Si deseamos que se ejecute después de otro , idicamos el nombre del EJB padre @DependsOn("Padre")

@Report(path="")

  • Indicamos la ruta en que se generaran los reportes de los test.

UnitTest

Esta clase contiene todos los mètodos necesarios para ejecutar el test.

Generalmente necesitamos Inyectar:

  • Repository

  • Services (Opcional)

Métodos

Usamos metodos:

  • init(): Que se ejecuta al iniciar el ejb, alli colocamos los mètodos a realizar el test e inicializamos el UnitTest

  • destroy(): Se ejecuta cuando de destruye el EJB.

Ejemplo:

Test simple

Objetivo del Test:

  • Ejecutar un test para un metodo no creado donde queremos verificar si no hay datos en una colecciòn llamada bodega.

Metodo:

  • findAll()

Usamos el mètodo unitTest.assertNotEquals("metodo",resultado_esperado, expresion_evaluar);

El verificara que el resultado no sea igual a cero y contara internamente el contador del evento.

Agregarlo al init()

BodegaTest.java

Cuando se ejecuta el proyecto de Test:

Podemos ver varios informes:

  • Resumen de los test.

  • Clases List: Nos muestra las clases y el total de resultados de cada operación

  • Podemos observar que se ejecuto en solo test sobre un método y el resultado fue exitoso, es decir la colección tiene documentos no esta vacía.

Resumen:

Clases List:

Podemos ver el detalle de los metodos ejecutados:

En este caso el test fallo, debido a que no tenemos documentos en la colecciòn.

Last updated

Was this helpful?