Skip to main content

jmoordbUnit

Esta disponible la versiòn 0.4.3 de jmoordbunit, un framework especifico para hacer test para jmoordb en aplicaciones Java Enterprise Edition/Jakarta EE que utilizan bases de datos NoSQL (MongoDB).
https://avbravo.gitbooks.io/jmoordbunit/content/

Dependencias
<dependency>
     <groupId>com.github.avbravo</groupId>
     <artifactId>jmoordbunit</artifactId>
     <version>0.4.3</version>
 </dependency>
Repositorio

<dependency>
     <groupId>com.github.avbravo</groupId>
     <artifactId>jmoordbunit</artifactId>
     <version>0.4.3</version>
 </dependency>

Su uso es muy básico

@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("save()", true,bodegaRepository.save(bodega));
        } catch (Exception e) {
            System.out.println("save() " + e.getLocalizedMessage());
        }

    }

    @Test
    private void findAll() {

    unitTest.assertNotEquals("findAll", 0, bodegaRepository.findAll().size());


    }

    @PreDestroy
    public void destroy() {
        unitTest.end(BodegaTest.class);
    }
}


generando los reportes del test


También genera interfaz gráfica en base a los test

@Test
    public String save() {
        try {

//Mock
            Color color = new Color();
            color.setActivo("si");
            color.setAutoincrementable(15);
            color.setIdcolor("rojo");
            List<UserInfo> list = new ArrayList<>();
            color.setUserInfo(list);
            Boolean expResult = true;
            Boolean save = unitTest.assertEquals("save", true, colorRepository.save(color));
            if (!save) {
                /*
            Dibuja la interfaz
                 */
                unitTest.form();
                unitTest.formTitle("Registros de colores");
                unitTest.panel();

                unitTest.panelAddInputText(Arrays.asList(new InputText("idcolor", color.getIdcolor()),
                        new InputText("activo", color.getActivo())
                ));

                unitTest.panelClose();
                unitTest.buttonGreen("Save");
                unitTest.formClose();

                unitTest.errorMessage("No se pudo guardar");

            }

        } catch (Exception e) {
            System.out.println("save() " + e.getLocalizedMessage());
        }

        return "";
    }



Comments

Popular posts from this blog

JUnit con DataClassG

JUnit con DataClassG 0. ESQUEMA Services: Por cada beans crearemos una clase Services que se encargará de interactuar con el controller para realizar las operaciones de la base de datos. Se crearan los métodos insert, update,delete y los demas metodos para realizar las diversas operaciones. Test: Se crearán las clases para test de las clases Services. Form: Los formularios para la interactuar con el usuario. ProvinciasServices.java colocamos los métodos, insert, update,delete public class ProvinciasServices {    ProvinciasController provinciasController = new ProvinciasController();    public ProvinciasServices() {    }    public Boolean insert (Provincias provincias){        try{            if(provinciasController.insert(provincias)){              return tru...

Primefaces v13

 La versión nueva de primefaces v13.0 elimina el componente <p:repeat>  Consulte los cambios en  https://github.com/primefaces/primefaces/releases/tag/13.0.0 por lo tanto si necesita una solución similar considere utilizar  <p:carousel>  o  <ui:repeat> En la versión 13 genera una excepción