jmoordbunit
  • Introduction
  • Overview
    • Creditos
    • Autor
    • Introduccion
    • Porque JmoordbUnit
    • Pasos
  • UnitTest
    • Que es UnitTest
    • Ejemplos
  • UnitView
    • Que es UtilView
    • header
    • DataTable
    • PanelGrid
    • InputText
  • Proyecto EJB
    • Microtestingejb
    • Maven
    • Esquema General
    • Paquetes
    • Provider
    • Entity
    • Repository
    • Converter
    • DataModel
    • Services
    • Construir proyecto
    • BodegaTest
  • Proyecto Web
    • Proyecto
    • Orden de ejecucion
    • Maven pom.xml
    • Test
    • Mock
    • Construir el proyecto
    • Ejecutar el proyecto
    • UberJar
    • Script desde Consola
  • Testing con UnitView
    • Testing con UnitView
    • Formulario
    • SelectOneMenu
    • DataTable
    • RadioButton
    • CheckBox
    • Todos Componentes
    • ColorTest
  • Testing de bases de datos dinámicas
    • Testing
Powered by GitBook
On this page
  • Ejemplo:
  • Código

Was this helpful?

  1. Testing de bases de datos dinámicas

Testing

PreviousColorTest

Last updated 6 years ago

Was this helpful?

Requerimientos:

  • ejbjmoordb

  • jmoordbUnit

  • Base de datos: MongoDB

Muchas ocasiones deseamos hacer testing de las bases de datos sin afectar las de producción

podemos utilizar el método repository.setDatabase(nombre-base-datos) para indicar la base de datos con la que deseamos hacer las pruebas, si no existe se creara en tiempo de ejecución.

Debemos establecerlo en el método init()

  rolRepository.setDatabase("transporte_test");

Ejemplo:

Tenemos una base de datos llamada transporte y deseamos hacer los test sobre una base de datos que crearemos dinamicamente llamada transporte_test

Código

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.avbravo.transportetest.test;

import com.avbravo.avbravoutils.JsfUtil;
import com.avbravo.ejbjmoordb.pojos.UserInfo;
import com.avbravo.jmoordbunit.anotation.Test;
import com.avbravo.jmoordbunit.test.UnitTest;
import com.avbravo.transporteejb.entity.Rol;
import com.avbravo.transporteejb.repository.RolRepository;
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;
import org.bson.Document;

/**
 *
 * @author avbravo
 */
@Startup
@Singleton
@DependsOn("ConductorTest")
public class RolTest implements ITest {
    @Inject
    UnitTest unitTest;
    @Inject
    RolRepository rolRepository;
     @PostConstruct
    void init() {
        unitTest.start(RolTest.class);
        rolRepository.setDatabase("transporte_test");
        findAll();
        save();
      delete();

    }

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

    }
    @Test
    private void findAll(){
        unitTest.assertNotEquals(nameOfMethod(), 0, rolRepository.findAll().size());
    }

    @Test
    private void save(){
        try {
            Rol rol = new Rol();
            rol.setIdrol("TEST");
            rol.setRol("ROL TESTING");
            rol.setActivo("si");
            List<UserInfo> userInfoList = new ArrayList<>();
            userInfoList.add(new UserInfo("xx", "avbravo", JsfUtil.getFechaActual(), "save()"));
            rol.setUserInfo(userInfoList);
            unitTest.assertTrue("save()", rolRepository.save(rol));
        } catch (Exception e) {
            unitTest.fail("save()", rolRepository.getException().toString());
            System.out.println(nameOfMethod()+" "+e.getLocalizedMessage());
        }
    }

    @Test
    private void delete(){
        unitTest.assertTrue(nameOfMethod(), rolRepository.delete(new Document("idrol","TEST")));
    }




}