How to use Redis with MuleSoft. A quick start presentation.
Taller: Prueba Unitaria con JUnit en NetBeans
1. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
Abrir NetBeans
Crear proyecto java: PruebasUnitarias
Crear paquete : llamado utilidades
Adicionar una clase java al paquete utilidades que se llame Validar
package utilidades;
/**
* @author Ing. Emerson Garay Gómez
* @asignatura Ingeniería de Software III
* @tema Aplicación Java <--> Conexión <--> MySQL(Base de datos)
* @tema Validación de GUI
* @since 2016
*/
public final class Validar {
public static boolean esCampoVacio(String campo){
return (campo.isEmpty());
}
public static boolean esNumeroEntero(String campo){
try{
Long.parseLong(campo);
return true;
}catch( Exception e){
return false;
}
}
public static boolean esNumeroReal(String campo){
try{
Double.parseDouble(campo);
return true;
}catch( Exception e){
return false;
}
}
public static boolean estaEnRango(String campo, double inf, double sup){
try{
double valor = Double.parseDouble(campo);
if( valor >= inf && valor <= sup ){
return true;
}
}catch( Exception e){
}
return false;
}
}//Fin de la clase Validar
2. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
Adicionar una clase java al paquete utilidades que se llame Util
package utilidades;
import java.awt.Component;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
/**
* @author Ing. Emerson Garay Gómez
* @asignatura Ingeniería de Software III
* @tema Aplicación Java <--> Conexión <--> MySQL(Base de datos)
* @tema Funciones de Utilidad
* @since 2016
*/
public final class Util {
public static String PATRON_FECHA_MYSQL = "YYYY-MM-dd";
public static String PATRON_HORA_MYSQL = "HH:mm:ss";
public static String aFechaMySQL(Date date){
String fecha;
SimpleDateFormat sdf = new SimpleDateFormat(PATRON_FECHA_MYSQL);
fecha = sdf.format(date);
return fecha;
}
public static String aHoraMySQL(Date date){
String hora;
SimpleDateFormat sdf = new SimpleDateFormat(PATRON_HORA_MYSQL);
hora = sdf.format(date);
return hora;
}
public static String aFechaYHoraMySQL(Date date){
String fechayhora;
SimpleDateFormat sdf = new SimpleDateFormat(PATRON_FECHA_MYSQL);
SimpleDateFormat sdf2 = new SimpleDateFormat(PATRON_HORA_MYSQL);
fechayhora = sdf.format(date) + " " + sdf2.format(date);
return fechayhora;
}
public static String aFormatoPesos(double valor){
DecimalFormat formateador = new DecimalFormat();
String res = "$ " + formateador.format(valor);
return res;
}
public static String aFormatoID(double valor){
DecimalFormat formateador = new DecimalFormat();
String res = formateador.format(valor);
return res;
}
}//Fin de la Clase Util
3. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
Hacer pruebas unitarias con JUnit en NetBeans
1. Clic derecho sobre la Clase que se
desea hacer la prueba(test)
2. Seleccionar Crear o Actualizar Prueba
3. Clic en OK
4. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
package utilidades;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* @author Ing. Emerson Garay Gómez
* @asignatura Ingenieria de Software III
* @tema Aplicación Java <--> Conexión <--> MySQL(Base de datos)
* @tema Validación de GUI
* @since 2016
*/
public class ValidarTest {
public ValidarTest() {
}
@Test
public void testEsCampoVacio() {
String campo = "-";
boolean expResult = true;
boolean result = Validar.esCampoVacio(campo);
String m = "esCampoVacio(" + campo + ") := " + result;
assertEquals(m,expResult, result);
System.out.println("esCampoVacio(" + campo + ") := " + result + " --> OK");
}
@Test
public void testEsNumeroEntero() {
String campo = "500";
boolean expResult = true;
boolean result = Validar.esNumeroEntero(campo);
String m = "esNumeroEntero(" + campo + ") := " + result;
assertEquals(m,expResult,result);
System.out.println(m + result + " --> OK");
}
@Test
public void testEsNumeroReal() {
String campo = "3.141618";
boolean expResult = true;
boolean result = Validar.esNumeroReal(campo);
String m = "esNumeroReal(" + campo + ") := " + result;
assertEquals(m,expResult, result);
System.out.println(m + result + " --> OK");
}
@Test
public void testEstaEnRango() {
String campo = "3.75";
double inf = 0.0;
double sup = 5.0;
boolean expResult = true;
boolean result = Validar.estaEnRango(campo, inf, sup);
String m = "estaEnRango(" + campo + ") := " + result;
assertEquals(m, expResult, result);
System.out.println(m + result + " --> OK");
}
}//Fin de la clase ValidarTest
5. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
Clic derecho sobre el archivo de prueba y ejecutar archivo para ver el resultado de la prueba
6. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
package utilidades;
import java.util.Calendar;
import java.util.Date;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* @author Ing. Emerson Garay Gómez
* @asignatura Ingenieria de Software III
* @tema Aplicación Java <--> Conexión <--> MySQL(Base de datos)
* @tema Utilidades de GUI
* @since 2016
*/
public class UtilTest {
Date fechayhora;
String strfecha, strhora, strfechayhora;
public UtilTest() {
Calendar c = Calendar.getInstance();
//año, mes-1, día del mes, horas, minutos, segundos
c.set(2016, 8-1, 6, 18, 30, 58);
fechayhora = c.getTime();
strfecha = "2016-08-06";
strhora = "18:30:58";
strfechayhora = strfecha + " " + strhora;
}
@Test
public void testAFechaMySQL() {
Date date = fechayhora;
String expResult = strfecha;
String result = Util.aFechaMySQL(date);
String m = "aFechaMySQL(" + date + ") := " + result;
assertEquals(m, expResult, result);
System.out.println(m + " --> OK");
}
@Test
public void testAHoraMySQL() {
Date date = fechayhora;
String expResult = strhora;
String result = Util.aHoraMySQL(date);
String m = "aHoraMySQL(" + date + ") := " + result;
assertEquals(m, expResult, result);
System.out.println(m + " --> OK");
}
@Test
public void testAFechaYHoraMySQL() {
Date date = fechayhora;
String expResult = strfechayhora;
String result = Util.aFechaYHoraMySQL(date);
String m = "aFechaYHoraMySQL(" + date + ") := " + result;
assertEquals(m, expResult, result);
System.out.println(m + " --> OK");
}
7. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
@Test
public void testFormatoPesos() {
double valor = 1500800;
String expResult = "$ 1.500.800";
String result = Util.aFormatoPesos(valor);
String m = "formatoPesos(" + valor + ") := " + result;
assertEquals(m, expResult,result);
System.out.println(m + " --> OK");
}
@Test
public void testFormatoID() {
double valor = 92456852;
String expResult = "92.456.852";
String result = Util.aFormatoID(valor);
String m = "formatoID(" + valor + ") := " + result;
assertEquals(m, expResult, result);
System.out.println(m + " --> OK");
}
}//Fin de la clase UtilTest
Clic derecho sobre el archivo de prueba y ejecutar archivo para ver el resultado de la prueba
8. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
Test Parametrizado
package utilidades;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
/**
* @author Ing. Emerson Garay Gómez
* @asignatura Ingeniería de Software III
* @tema Aplicación Java <--> Conexión <--> MySQL(Base de datos)
* @tema Validación de GUI
* @since 2016
*/
@RunWith(Parameterized.class)
public class ValidarEsNumeroEnteroTestParametrizado {
private final String datoEntrada;
private final boolean datoEsperado;
@Parameterized.Parameters
public static List<Object[]> getDatos(){
return Arrays.asList( new Object[][] {
{"0", true},
{"1234567890", true},
{"-1", true},
{"-1234567890", true},
{"+1234567890", true},
{"-0", true},
{"+0", true},
{"350", true},
{"Hola", false},
{"3.141618", false},
{"3,141618", false},
{"3.14E3", false} }
);
}
public ValidarEsNumeroEnteroTestParametrizado(String entrada, boolean esperado){
this.datoEntrada = entrada;
this.datoEsperado = esperado;
}
@Test
public void testParametersEsNumeroEntero() {
String campo = datoEntrada;
boolean expResult = datoEsperado;
boolean result = Validar.esNumeroEntero(campo);
String m = "esNumeroEntero(" + campo + ") := " + result;
assertEquals(m,expResult,result);
System.out.println(m + result + " --> OK");
}
}//Fin de la clase ValidarEsUnNumeroEnterotestParametrizado
9. Taller Practico 3.1: Ingeniería de Software III – Pruebas Unitarias con JUnit en NetBeans
www.youtube.com/emergaray www.slideshare.net/emergar
Test de Suite
Se escogen algunas o todas las pruebas unitarias para ejecutar de una vez
package utilidades;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
/**
* @author Ing. Emerson Garay Gómez
* @asignatura ingeniería de Software III
* @tema Aplicación Java <--> Conexión <--> MySQL(Base de datos)
* @tema Validación de GUI
* @since 2016
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({
utilidades.UtilTest.class,
utilidades.ValidarTest.class,
utilidades.ValidarEsNumeroEnteroTestParametrizado.class
})
public class TestSuite {
}