tel./fax: +34 91 675 33 06 [email protected] - www ... › ... › junit4eclipse.pdf · el...

6
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Upload: others

Post on 10-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: tel./fax: +34 91 675 33 06 info@autentia.com - www ... › ... › Junit4Eclipse.pdf · El framework provee al usuario de herramientas, clases y métodos que le facilitan la tarea

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Page 2: tel./fax: +34 91 675 33 06 info@autentia.com - www ... › ... › Junit4Eclipse.pdf · El framework provee al usuario de herramientas, clases y métodos que le facilitan la tarea

Últimos tutoriales

2009-01-20Pruebas Software con Junit 4 y Eclipse

2009-01-19Executor : Un programa para ejecutarlos a todos.

2009-01-18Soap Monitor: Monitorizaciónde mensajes SOAP en Axis2

2009-01-16Restaurar una Base de Datos en SQL Server o como cambiar el propietario de los objetos de la base de datos

2009-01-14Solución aNoClassDefFoundError: SWTResourceUtil

2009-01-14Desarrollo de aplicaciones Web con Struts 1

2009-01-07Log4J: Cómo crear un log quetrabaje hacia una Base de Datos.

2009-01-05Introducción a Google ChartAPI

2009-01-02OSCache: Sistema de cachépara aplicaciones Java

2008-12-31Primeros pasos con Selenium IDE

Últimas ofertas de

Tutorial desarrollado por

Rubén Gómez López

Consultor tecnológico dedesarrollo de proyectosinformáticos.

Ingeniero en Informática por laUniversidad Autónoma de Madrid.

Puedes encontrarme en Autentia

Somos expertos en Java/J2EE

Catálogo de servicios de Autentia

Descargar (6,2 MB)

Descargar en versión comic (17 MB)

AdictosAlTrabajo.com es el Web de difusión de conocimiento deAutentia.

Catálogo de cursos

NUEVO ¿Quieres saber cuánto ganas en relación almercado? pincha aquí...

Ver cursos que ofrece Autentia Descargar comics en PDF y alta resolución

[¡NUEVO!] 2008-12-01 2008-11-172008-09-01

2008-07-31

Estamos escribiendo un libro sobre la profesión informática y estas viñetas formarán parte de él. Puedes opinar en la seccion comic.

Descargar este documento en formato PDF: Junit4Eclipse.pdf

Fecha de creación del tutorial: 2009-01-20

Pruebas Software con Junit 4 y Eclipse

0. Índice de contenidos.

1. Introducción.2. Entorno3. ¿Por qué usar Test?4. Características de JUnit 4

4.1. Métodos4.2. Anotaciones4.3. Funciones de aceptación/rechazo4.4. Ejemplo

5. Junit en Eclipse

1. Introducción

JUnit se trata de un Framework Open Source para la automatización de las pruebas (tanto unitarias, como de integración) en losproyectos Software. El framework provee al usuario de herramientas, clases y métodos que le facilitan la tarea de realizar pruebas ensu sistema y así asegurar su consistencia y funcionalidad.

En este tutorial os vamos a enseñar el funcionamiento de la última versión de Junit, Junit 4, y su integración con el entorno dedesarrollo Eclipse. Ámbas herramientas son open Source y pueden ser descargadas gratuitamente en los siguientes enlaces:

JUnit4: (Web Oficial | Descarga)Eclipse: ( Web Oficial | Descarga)

2. Entorno

Las características del equipo y recursos utilizados para las pruebas y la elaboración de este tutorial son las siguientes:

Equipo: Portátil "ASUS Notebook G1 Series" (Core 2 Duo T7500 2.20GHz, 2GB RAM, 100 GB HD).Sistema operativo: Windows Vista Ultimate.Eclipse Ganymede 3.4.1

Inicio Quienes somos Tutoriales Formación Colabora Comunidad Comic Charlas Más

Catálogo deservicios

Autentia (PDF6,2MB)

En formato comic...

Web

www.adictosaltrabajo.com

Buscar

Hosting patrocinado por

Page 3: tel./fax: +34 91 675 33 06 info@autentia.com - www ... › ... › Junit4Eclipse.pdf · El framework provee al usuario de herramientas, clases y métodos que le facilitan la tarea

empleo

2008-12-22Otras - Mecánica - SEVILLA.

2008-11-27Comercial - Ventas - ALICANTE.

2008-10-30Comercial - Ventas - BARCELONA.

2008-10-30T. Información - Analista /Programador - BARCELONA.

2008-10-27T. Información - Analista /Programador - CIUDAD REAL.

Junit 4.5

3. ¿Por qué usar Test?

Os vamos a explicar de manera sencilla que son conceptualmente los test y por qué son necesarios en nuestro proyecto Software.

Pongamos que nos encontramos en una situación típica de cualquier sistema en desarrollo con varios desarrolladores trabajando enparalelo, cada uno en un módulo independiente pero todos éstos suelen estar relacionados.

En primer lugar tenemos que decir que existen principalmente 2 tipos de pruebas con las que vamos a trabajar, estas son:

Pruebas unitarias: Consisten en probar la correcta funcionalidad del módulo en cuestión como si actuara independiente de losdemás.Pruebas de integración: Como su nombre indica, se prueba la correcta integración de cada módulo (ya probado con pruebasunitarias) con los demás

Supongamos que el sistema está implementado, probado y ya en funcionamiento, pero se desea añadir una nueva funcionalidad almódulo 4. Tras el desarrollo de éste, ¿estamos seguros de que los demás módulos siguen funcionando correctamente y no se haalterado su funcionalidad?. La manera más rudimentaria y primitiva es probar a mano todos los módulos relacionados...¿No sería másfacil automatizar este proceso?. Automatizando la tarea de realizar las pruebas conseguimos, además de ganar tiempo cada vez quetengamos que hacer las pruebas, asegurarnos que se realizan todas las pruebas necesarias.

Mediante pruebas de integración no solo se nos permite probar la interacción de un módulo con otro dentro del mismo sistema, sinoque podemos probar las conexiones con otros sistemas externos como por ejemplo un gestor de Base de datos.

Por otro lado, se ha demostrado que una forma muy eficaz, limpia y profesional de trabajar es realizar una programación basada enpruebas. Esto consiste en invertir el proceso natural de desarrollo, cogiendo los requisitos, realizando una batería de pruebas a partirde éstos para finalmente desarrollar el sistema que los cumpla.

En resumen, un proyecto Software no puede considerarse como tal sin una buena batería de pruebas que comprueben su correctofuncionamiento frente a cambios

4. Características de JUnit 4

En primer lugar e importante es que el nombre de la clase de Test debe tener la siguiente estructura: "test"

4.1. Métodos

A grandes rasgos, una clase de Test realizada para ser tratada por JUnit 4 tiene una estructura con 4 tipos de métodos:

Método setUp: Asignamos valores iniciales a variables antes de la ejecución de cada test. Si solo queremos que se inicialicenal principio una vez, el método se debe llamar "setUpClass"Método tearDown: Es llamado después de cada test y puede servir para liberar recursos o similar. Igual que antes, siqueremos que solo se llame al final de la ejecución de todos los test, se debe llamar "tearDownClass"Métodos Test: Contienen las pruebas concretas que vamos a realizar.Métodos auxiliares.

4.2. Anotaciones

En versiones anteriores de Junit no existían caracteres especiales, que llamamos anotaciones, y que se han incluído en su versión 4para intentar simplificar más la labor del programador. Se trata de palabras clave que se colocan delante de los definidos antes y queindican a las librerías JUnit instrucciones concretas.

A continuación pasamos a ver las más relevantes:

@RunWith: Se le asigna una clase a la que JUnit invocará en lugar del ejecutor por defecto de JUnit@Before: Indicamos que el siguiente método se debe ejecutar antes de cada test (precede al método setUp). Si tiene quepreceder al método setUpClass, la notación será "@BeforeClass"@After: Indicamos que el siguiente método se debe ejecutar después de cada test (precede al método tearDown). Si tieneque preceder al método tearDownClass, la notación será "@AfterClass"@Test: Indicamos a Junit que se trata de un método de Test. En versiones anteriores de JUnit los métodos tenían que tenerun nombre con la siguiente estructura: "test". Con esta notación colocada delante de los métodos podemos elegir el nombrelibremente.

4.3. Funciones de aceptación/rechazo

Anuncios Google

Page 4: tel./fax: +34 91 675 33 06 info@autentia.com - www ... › ... › Junit4Eclipse.pdf · El framework provee al usuario de herramientas, clases y métodos que le facilitan la tarea

Una vez hemos creado las condiciones para probar que una funcionalidad concreta funciona es necesario que un validador nos diga si estamos obteniendo el resultado esperado o no. Para esta labor se definen una lista de funciones (incluidas en la clase Assert) que sepueden ver detalladas en el javadoc de JUnit: Javadoc

Os pasamos a detallar las más comunes para así ahorraros trabajo:

assertArrayEquals: Recibe como parámetro 2 arrays y comprueba si son iguales. Devuelve assertionError si no se produce elresultado esperadoassertEquals: Realiza la comprobación entre 2 valores de tipo numérico. Devuelve assertionError si no se produce el resultadoesperadoassertTrue: Comprueba si una condición se cumple. Devuelve assertionError si no se produce el resultado esperadofail: devuelve una alerta informando del fallo en el test

4.4. Ejemplo

5. JUnit en Eclipse

La versión actual de Eclipse (Ganymede, 3.4) ya incluye la integración de éste con las librerias JUnit por lo que es sencillísimoejecutar una clase de Test. Unicamente tenemos que abrirnos la vista de explorador de proyectos, aquí hacer clic con el botónderecho en la clase Test en concreto, en el menú que aparece elegir "Run as" -> "JUnit Test"

view plain print ?

package com.autentia.training.tutorialJUnit; 01.

02.

import org.junit.AfterClass; 03.

import org.junit.Assert; 04.

import org.junit.BeforeClass; 05.

import org.junit.Test; 06.

07.

public class pruebaTest { 08.

09.

@BeforeClass 10.

public static void setUpClass() throws Exception { 11.

//Inicialización general de variables, escritura del log... 12.

} 13.

14.

@AfterClass 15.

public static void tearDownClass() throws Exception { 16.

//Liberación de recursos, escritura en el log... 17.

} 18.

19.

@Before 20.

public void setUp() { 21.

//Inicialización de variables antes de cada Test 22.

} 23.

24.

@After 25.

public void tearDown() { 26.

//Tareas a realizar después de cada test 27.

} 28.

29.

@Test 30.

public void comprobarAccion() { 31.

//creamos el entorno necesario para la prueba 32.

//Usamos alguna de las funciones arriba descritas 33.

//para realizar la comprobación 34.

} 35.

36.

public void funcionAuxiliar() { 37.

//tareas auxiliares 38.

} 39.

40.

} 41.

Page 5: tel./fax: +34 91 675 33 06 info@autentia.com - www ... › ... › Junit4Eclipse.pdf · El framework provee al usuario de herramientas, clases y métodos que le facilitan la tarea

En la consola nos aparecerá el resultado de la ejecución

Espero haberos sido de utilidad. Le debo un agradecimiento a nuestro compañero Raúl que me dió todas las bases para hacer estetutorial

Un saludo.

Rubén Gómez

mailto:[email protected]

¿Qué te ha parecido el tutorial? Déjanos saber tu opinión y ¡vota!

Muy malo Malo Regular Bueno Muy bueno

Votar

Puedes opinar sobre este tutorial haciendo clic aquí.Puedes firmar en nuestro libro de visitas haciendo clic aquí.Puedes asociarte al grupo AdictosAlTrabajo en XING haciendo clic aquí.

Añadir a favoritos Technorati.

Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas2.5

Recuerda

Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones dediseño ... y muchas otras cosas.

Page 6: tel./fax: +34 91 675 33 06 info@autentia.com - www ... › ... › Junit4Eclipse.pdf · El framework provee al usuario de herramientas, clases y métodos que le facilitan la tarea

¿Nos vas a tener en cuenta cuando necesites consultoría oformación en tu empresa?, ¿Vas a ser tan generoso con nosotroscomo lo tratamos de ser con vosotros?

Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...

Autentia = Soporte a Desarrollo & Formación.

[email protected]

Servicio de notificaciones:

Si deseas que te enviemos un correo electrónico cuando introduzcamos nuevos tutoriales.

Formulario de subcripción a novedades:

E-mail Aceptar

Nota:

Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de lostutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuyapropiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tienemás que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe aladministrador [email protected] para su resolución.

Tutoriales recomendados

Nombre Resumen Fecha Visitas Valoración pdf

Desarrollos Web en PHP con AppServ 2.5.6 y Eclipse PDT

En este tutorial veremos cómo configurar un entornopara desarrollar aplicaciones web con PHP, basado en PHP 5.1.4, MySQL 5.0, Apache HTTP Server 2.2.2, phpMyAdmin 2.8.2 (incluido en AppServ 2.5.6) y Eclipse PDT Europa.

2008-06-04 3206 - pdf

JUnit (3.8 y 4) y como ejecutar en un orden determinado los métodos detest de una clase de test

En este tutorial Alejandro Pérez nos enseña a ejecutartest de junit (v 3 y 4) segun un cierto orden.)

2008-02-11 2012 - pdf

Primeros pasos por el mundo Java/Eclipse (en Vista)

En esta ocasión Roberto nos enseña de una manerasencilla como empezar a usar el entorno de desarrollo Eclipse para realizar nuestros proyectos Java.

2008-11-03 1706 - pdf

Cómo realizar pruebasunitarias con Spring y JUnit4 utilizando Gienah

En este tutorial vamos a presentaros Gienah, unatecnología que os permitirá de una forma muy cómoda ysencilla utilizar componentes de Spring en vuestros test unitarios realizados con JUnit 4

2008-02-17 1974 - pdf

EJB 3.0 y pruebas unitarias con Maven, JUnit y Embedded JBoss

En este tutorial Alejandro Pérez nos enseña como realizartest unitarios sobre EJB 3.0. Para ello se usará Maven,JUnit y Embedded JBoss

2007-08-09 5390 - pdf

Cypal Studio: plugin de GWT para Eclipse

En este tutorial vamos a continuar con el desarrollo de aplicaciones web mediante el uso del Google Web Toolkit (GWT)

2008-10-10 1365 - pdf

Depurar en PHP: Eclipse PDT + Xdebug

Podemos depurar nuestros desarrollos en PHP desde Eclipse PDT gracias a Xdebug y su característica dedepuración remota. En este tutorial veremos cómoconfigurarlo y un ejemplo.

2008-07-14 2792 - pdf

Nuevo Eclipse 3.4, code name: Ganymede

Álex ha probado la nueva versión de Eclipse 3.4(Ganymede) liberada ayer mismo como GA. Conoce las novedades y mejoras en este tutorial.

2008-06-26 4296 - pdf

JUnit 4. Pruebas de Software Java

Tutorial que describe como utilizar la herramienta JUnit 4 para realizar pruebas de integridad y errores sobre Java.

2006-06-02 12347 - pdf

Test con JUnit

Cuando se hacen desarrollo profesionales, no basta con hacer los programas, hay que asegurarse de que van a funcionar. Una de las técnicas más seguras es crearaplicaciones que incluyan el código para autoprobarse. Osmostramos como usar JUnit

2003-06-21 19221 - pdf