SlideShare una empresa de Scribd logo
1 de 9
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
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
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
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
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
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");
}
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
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
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 {
}

Más contenido relacionado

La actualidad más candente

Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchJair Ospino Ardila
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)Marco Antonio Perez Montero
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de usoSaul Mamani
 
Metodologias para el desarrollo de los sistemas expertos
Metodologias para el desarrollo de los sistemas expertosMetodologias para el desarrollo de los sistemas expertos
Metodologias para el desarrollo de los sistemas expertosCamilo Huertas
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansEmerson Garay
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtualkerlly villon
 
Cuestionario
CuestionarioCuestionario
CuestionarioJose Nava
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
Saturacion base de datos - Ejemplos Parte 1
Saturacion base de datos  - Ejemplos Parte 1Saturacion base de datos  - Ejemplos Parte 1
Saturacion base de datos - Ejemplos Parte 1GrupoTresPacEspe
 
42 preguntas que deberias hacerte antes de abordar un proyecto
42 preguntas que deberias hacerte antes de abordar un proyecto42 preguntas que deberias hacerte antes de abordar un proyecto
42 preguntas que deberias hacerte antes de abordar un proyectoBlogdelfreelance .com
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de softwareEdgardo Rojas
 

La actualidad más candente (20)

Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
Metodologias para el desarrollo de los sistemas expertos
Metodologias para el desarrollo de los sistemas expertosMetodologias para el desarrollo de los sistemas expertos
Metodologias para el desarrollo de los sistemas expertos
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
Inner join
Inner joinInner join
Inner join
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtual
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 
Saturacion base de datos - Ejemplos Parte 1
Saturacion base de datos  - Ejemplos Parte 1Saturacion base de datos  - Ejemplos Parte 1
Saturacion base de datos - Ejemplos Parte 1
 
42 preguntas que deberias hacerte antes de abordar un proyecto
42 preguntas que deberias hacerte antes de abordar un proyecto42 preguntas que deberias hacerte antes de abordar un proyecto
42 preguntas que deberias hacerte antes de abordar un proyecto
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 
Calculadora con operaciones básicas en java
Calculadora con operaciones básicas en javaCalculadora con operaciones básicas en java
Calculadora con operaciones básicas en java
 
Patron Singleton
Patron SingletonPatron Singleton
Patron Singleton
 

Similar a Taller: Prueba Unitaria con JUnit en NetBeans

Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013dayaorte
 
Unit Testing - GTUG
Unit Testing - GTUGUnit Testing - GTUG
Unit Testing - GTUGJordi Gerona
 
Testing efectivo con pytest
Testing efectivo con pytestTesting efectivo con pytest
Testing efectivo con pytestHector Canto
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..siticfje
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmockkaolong
 
Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junitpattyand89
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gioRobert Wolf
 
Ejerciciosparaelprimerparcial
EjerciciosparaelprimerparcialEjerciciosparaelprimerparcial
Ejerciciosparaelprimerparcialmtemarialuisa
 
Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01Emerson Garay
 
Unit Testing - Trovit
Unit Testing - TrovitUnit Testing - Trovit
Unit Testing - TrovitJordi Gerona
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009Pepe
 
_5 - Prácticas 3 - Constructor. El método mágico..pdf
_5 - Prácticas 3 - Constructor. El método mágico..pdf_5 - Prácticas 3 - Constructor. El método mágico..pdf
_5 - Prácticas 3 - Constructor. El método mágico..pdfLaura Ofelia Morales Pérez
 
Primera App - Laboratorio Android
Primera App - Laboratorio AndroidPrimera App - Laboratorio Android
Primera App - Laboratorio AndroidGDG Cali
 
Portafolio poo segundo parcial sergio muñiz
Portafolio poo segundo parcial sergio muñizPortafolio poo segundo parcial sergio muñiz
Portafolio poo segundo parcial sergio muñizSergio Muñiz
 
Segundo laboratorio de Android
Segundo laboratorio de AndroidSegundo laboratorio de Android
Segundo laboratorio de AndroidGDG Cali
 

Similar a Taller: Prueba Unitaria con JUnit en NetBeans (20)

Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013
 
Unit Testing - GTUG
Unit Testing - GTUGUnit Testing - GTUG
Unit Testing - GTUG
 
Testing efectivo con pytest
Testing efectivo con pytestTesting efectivo con pytest
Testing efectivo con pytest
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmock
 
Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junit
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gio
 
Ejerciciosparaelprimerparcial
EjerciciosparaelprimerparcialEjerciciosparaelprimerparcial
Ejerciciosparaelprimerparcial
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Guia4 java
Guia4 javaGuia4 java
Guia4 java
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Programación III (Java) - 09 Cierre
Programación III (Java) - 09 CierreProgramación III (Java) - 09 Cierre
Programación III (Java) - 09 Cierre
 
Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01
 
Unit Testing - Trovit
Unit Testing - TrovitUnit Testing - Trovit
Unit Testing - Trovit
 
Testeo unitario
Testeo unitarioTesteo unitario
Testeo unitario
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009
 
_5 - Prácticas 3 - Constructor. El método mágico..pdf
_5 - Prácticas 3 - Constructor. El método mágico..pdf_5 - Prácticas 3 - Constructor. El método mágico..pdf
_5 - Prácticas 3 - Constructor. El método mágico..pdf
 
Primera App - Laboratorio Android
Primera App - Laboratorio AndroidPrimera App - Laboratorio Android
Primera App - Laboratorio Android
 
Portafolio poo segundo parcial sergio muñiz
Portafolio poo segundo parcial sergio muñizPortafolio poo segundo parcial sergio muñiz
Portafolio poo segundo parcial sergio muñiz
 
Segundo laboratorio de Android
Segundo laboratorio de AndroidSegundo laboratorio de Android
Segundo laboratorio de Android
 

Más de Emerson Garay

Distancia menor x y en rectángulo
Distancia menor x y en rectánguloDistancia menor x y en rectángulo
Distancia menor x y en rectánguloEmerson Garay
 
Scratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanasScratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanasEmerson Garay
 
Menus de microsoft word 2016
Menus de microsoft word 2016Menus de microsoft word 2016
Menus de microsoft word 2016Emerson Garay
 
Menús de microsoft word 2013 plus
Menús de microsoft word 2013 plusMenús de microsoft word 2013 plus
Menús de microsoft word 2013 plusEmerson Garay
 
Menús de microsoft word 2010
Menús de microsoft word 2010Menús de microsoft word 2010
Menús de microsoft word 2010Emerson Garay
 
Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)Emerson Garay
 
Sitio web (bootstrap4)
Sitio web (bootstrap4)Sitio web (bootstrap4)
Sitio web (bootstrap4)Emerson Garay
 
Primeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD MysqlPrimeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD MysqlEmerson Garay
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: ListaEmerson Garay
 
Controles Básicos de Interfaz en Android
Controles Básicos de Interfaz en AndroidControles Básicos de Interfaz en Android
Controles Básicos de Interfaz en AndroidEmerson Garay
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : ColaEmerson Garay
 
Esquema de Bases de Datos
Esquema de Bases de DatosEsquema de Bases de Datos
Esquema de Bases de DatosEmerson Garay
 
Calculadora Básica en Android
Calculadora Básica en AndroidCalculadora Básica en Android
Calculadora Básica en AndroidEmerson Garay
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: PilaEmerson Garay
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a AndroidEmerson Garay
 
BD - Diseño Conceptual, Lógico y Físico
BD - Diseño Conceptual, Lógico y FísicoBD - Diseño Conceptual, Lógico y Físico
BD - Diseño Conceptual, Lógico y FísicoEmerson Garay
 

Más de Emerson Garay (20)

Distancia menor x y en rectángulo
Distancia menor x y en rectánguloDistancia menor x y en rectángulo
Distancia menor x y en rectángulo
 
Mind meister
Mind meisterMind meister
Mind meister
 
Scratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanasScratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanas
 
Menus de microsoft word 2016
Menus de microsoft word 2016Menus de microsoft word 2016
Menus de microsoft word 2016
 
Menús de microsoft word 2013 plus
Menús de microsoft word 2013 plusMenús de microsoft word 2013 plus
Menús de microsoft word 2013 plus
 
Menús de microsoft word 2010
Menús de microsoft word 2010Menús de microsoft word 2010
Menús de microsoft word 2010
 
Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)
 
Sitio web (bootstrap4)
Sitio web (bootstrap4)Sitio web (bootstrap4)
Sitio web (bootstrap4)
 
Primeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD MysqlPrimeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD Mysql
 
Intent en android
Intent en androidIntent en android
Intent en android
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
 
Controles Básicos de Interfaz en Android
Controles Básicos de Interfaz en AndroidControles Básicos de Interfaz en Android
Controles Básicos de Interfaz en Android
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : Cola
 
Esquema de Bases de Datos
Esquema de Bases de DatosEsquema de Bases de Datos
Esquema de Bases de Datos
 
Calculadora Básica en Android
Calculadora Básica en AndroidCalculadora Básica en Android
Calculadora Básica en Android
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: Pila
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Android
 
Búsqueda lineal
Búsqueda linealBúsqueda lineal
Búsqueda lineal
 
Búsqueda Binaria
Búsqueda BinariaBúsqueda Binaria
Búsqueda Binaria
 
BD - Diseño Conceptual, Lógico y Físico
BD - Diseño Conceptual, Lógico y FísicoBD - Diseño Conceptual, Lógico y Físico
BD - Diseño Conceptual, Lógico y Físico
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (16)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

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 { }