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 = new Bodega();
bodega.setIdbodega("bodega-test");
bodega.setDireccion("Panama");
bodega.setTelefono("(507)");
//User info es una clase que usa el framework para guardar referencias
//de usuarios
List<UserInfo> list = new ArrayList<>();
bodega.setUserInfo(list);
bodega.setActivo("si");
@Test
private void save() {
try {
//Mock
Bodega bodega = new Bodega();
bodega.setIdbodega("bodega-test");
bodega.setDireccion("Panama");
bodega.setTelefono("(507)");
//User info es una clase que usa el framework para guardar referencias
//de usuarios
List<UserInfo> list = new ArrayList<>();
bodega.setUserInfo(list);
bodega.setActivo("si");
unitTest.assertEquals(nameOfMethod(), true,bodegaRepository.save(bodega));
} catch (Exception e) {
System.out.println(nameOfMethod()+" " + e.getLocalizedMessage());
}
}
BodegaTest.java
import com.avbravo.ejbjmoordb.pojos.UserInfo;
import com.avbravo.jmoordbunit.anotation.Report;
import com.avbravo.jmoordbunit.anotation.Test;
import com.avbravo.jmoordbunit.test.UnitTest;
import com.avbravo.microtestingejb.entity.Bodega;
import com.avbravo.microtestingejb.repository.BodegaRepository;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.DependsOn;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;
/**
*
* @author avbravo
*/
@Startup
@Singleton
@DependsOn("TestEnvironment")
@Test
@Report(path = "/home/avbravo/Descargas/")
public class BodegaTest {
@Inject
UnitTest unitTest;
@Inject
BodegaRepository bodegaRepository;
@PostConstruct
void init() {
unitTest.start(BodegaTest.class);
save();
findAll();
}
@Test
private void save() {
try {
//Mock
Bodega bodega = new Bodega();
bodega.setIdbodega("bodega-test");
bodega.setDireccion("Panama");
bodega.setTelefono("(507)");
//User info es una clase que usa el framework para guardar referencias
//de usuarios
List<UserInfo> list = new ArrayList<>();
bodega.setUserInfo(list);
bodega.setActivo("si");
unitTest.assertEquals(nameOfMethod(), true,bodegaRepository.save(bodega));
} catch (Exception e) {
System.out.println(nameOfMethod()+" " + e.getLocalizedMessage());
}
}
@Test
private void findAll() {
unitTest.assertNotEquals(nameOfMethod(), 0, bodegaRepository.findAll().size());
}
@PreDestroy
public void destroy() {
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