En muchas ocasiones necesitamos realizar operaciones en donde asignamos valores a los entity para ejecutar el test con esos datos.
Por ejemplo ingresamos datos al entity Bodega y ejecutamos la operaciòn save() en la colecciòn.
Al final podemos eliminarlo despues de realizar el test.
O lo dejamos para otras pruebas y al final lo eliminamos cuando terminamos el proceso.
Ejercicio:
Agregar el test del metodo save() a BodegaTest.java
Crear un Mock
Bodega bodega =newBodega();bodega.setIdbodega("bodega-test");bodega.setDireccion("Panama");bodega.setTelefono("(507)");//User info es una clase que usa el framework para guardar referencias//de usuariosList<UserInfo> list =newArrayList<>();bodega.setUserInfo(list);bodega.setActivo("si");
@Testprivatevoidsave() {try {//MockBodega bodega =newBodega();bodega.setIdbodega("bodega-test");bodega.setDireccion("Panama");bodega.setTelefono("(507)");//User info es una clase que usa el framework para guardar referencias//de usuariosList<UserInfo> list =newArrayList<>();bodega.setUserInfo(list);bodega.setActivo("si");unitTest.assertEquals(nameOfMethod(),true,bodegaRepository.save(bodega)); } catch (Exception e) {System.out.println(nameOfMethod()+" "+e.getLocalizedMessage()); } }
BodegaTest.java
importcom.avbravo.ejbjmoordb.pojos.UserInfo;importcom.avbravo.jmoordbunit.anotation.Report;importcom.avbravo.jmoordbunit.anotation.Test;importcom.avbravo.jmoordbunit.test.UnitTest;importcom.avbravo.microtestingejb.entity.Bodega;importcom.avbravo.microtestingejb.repository.BodegaRepository;importjava.util.ArrayList;importjava.util.List;importjavax.annotation.PostConstruct;importjavax.annotation.PreDestroy;importjavax.ejb.DependsOn;importjavax.ejb.Singleton;importjavax.ejb.Startup;importjavax.inject.Inject;/** * * @author avbravo */@Startup@Singleton@DependsOn("TestEnvironment")@Test@Report(path ="/home/avbravo/Descargas/")publicclassBodegaTest { @InjectUnitTest unitTest; @InjectBodegaRepository bodegaRepository; @PostConstructvoidinit() {unitTest.start(BodegaTest.class);save();findAll(); } @Testprivatevoidsave() {try {//MockBodega bodega =newBodega();bodega.setIdbodega("bodega-test");bodega.setDireccion("Panama");bodega.setTelefono("(507)");//User info es una clase que usa el framework para guardar referencias//de usuariosList<UserInfo> list =newArrayList<>();bodega.setUserInfo(list);bodega.setActivo("si");unitTest.assertEquals(nameOfMethod(),true,bodegaRepository.save(bodega)); } catch (Exception e) {System.out.println(nameOfMethod()+" "+e.getLocalizedMessage()); } } @TestprivatevoidfindAll() {unitTest.assertNotEquals(nameOfMethod(),0,bodegaRepository.findAll().size()); } @PreDestroypublicvoiddestroy() {unitTest.end(BodegaTest.class); }}
Al ejecutar el Test
Resumen
Clases List: Pasaron todos los test.
Metodos fueron exitosos
Si ejecutamos nuevamente el test
El resumen indica que hay 1 error
Clases List
Se observa que BodegaTest tiene dos errores
Al verificar la clase BodegaTest
Se observa que el metodo que fallo fue el metodo save()
Para tener màs detalles sobre los mensajes de error podemos implementar UnitView.java