Академический Документы
Профессиональный Документы
Культура Документы
VERIFICACION Y VALIDACION
12 DE JULIO DE 2013
INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRIGUEZ
Contenido
1. Introduccin a las pruebas unitarias ........................................................................................... 3 1.1. Las pruebas unitarias............................................................................................................ 3 1.2. Las pruebas unitarias con JUnit ............................................................................................ 3 1.3. Anotaciones JUnit disponibles ............................................................................................. 4 1.4. Assert.................................................................................................................................... 6 1.5. Crear un conjunto de pruebas JUnit .................................................................................... 7 1.6 Ejecute la prueba fuera de Eclipse ........................................................................................ 8 2. Instalacin de JUnit ..................................................................................................................... 9 2.1. Con JUnit integrado en Eclipse ............................................................................................. 9 2.2. Descarga de la biblioteca JUnit ............................................................................................ 9 3. Apoyo Eclipse para JUnit ............................................................................................................. 9 3.1. Creacin de pruebas JUnit ................................................................................................... 9 3.2. Correr pruebas JUnit .......................................................................................................... 10 Nota .......................................................................................................................................... 11 3.3. JUnit importaciones estticas ............................................................................................ 11 3.4. Asistente para la creacin de bancos de pruebas .............................................................. 12 3.5. Prueba de excepcin .......................................................................................................... 13 4 Ejercicio: El uso de JUnit ............................................................................................................. 14 4.1. Preparacin del proyecto ................................................................................................... 14 4.2. Crear una clase Java ........................................................................................................... 15 4.3. Crear una prueba JUnit ...................................................................................................... 15 4.4. Ejecute la prueba de Eclipse............................................................................................... 19 5. Opciones avanzadas JUnit ......................................................................................................... 19 5.1. Prueba con parmetros ...................................................................................................... 19 5.2. Reglas ................................................................................................................................. 21 Referencia ..................................................................................................................................... 23
Tabla de ilustraciones
1ventana de resultado de pruebas de JUnit ..................................................................................... 10 2comfiguracion de pruebas .............................................................................................................. 11 3pruebas de falla............................................................................................................................... 11 4configuracin de importacin ......................................................................................................... 12 5banco de pruebas............................................................................................................................ 13 6origen de prueba ............................................................................................................................. 14 7configuracin de prueba ................................................................................................................. 15 8Comprobacion de prueba ............................................................................................................... 16 9Biblioteca de JUnit .......................................................................................................................... 17 10Ventana de pruebas...................................................................................................................... 19
@ Prueba
/ / Comprobar si se multiplican (10,5) devuelve 50 assertEquals ( "10 x 5 debe ser de 50" , 50 , tester.multiply ( 10 , 5 )); }
JUnit asume que todos los mtodos de prueba se pueden ejecutar en un orden arbitrario. Por lo tanto, las pruebas no deben depender de otras pruebas. Para escribir un test con JUnit que anotar un mtodo con el @ org.junit.Test anotacin y utilizar un mtodo proporcionado por JUnit para comprobar el resultado esperado de la ejecucin de cdigo en comparacin con el resultado real. Puede utilizar la interfaz de usuario de Eclipse para ejecutar la prueba, a travs de clic derecho sobre la clase de prueba y seleccionar Ejecutar Ejecutar como JUnit prueba. Fuera de Eclipse puede utilizar org.junit.runner.JUnitCore clase para ejecutar la prueba.
@ Prueba mtodo public void () @ Antes mtodo public void () @ Despus mtodo public void ()
Este mtodo se ejecuta antes de cada prueba. Este mtodo se puede preparar el entorno de prueba (por ejemplo, leer los datos de entrada, se inicializa la clase). Este mtodo se ejecuta despus de cada prueba. Este mtodo puede limpiar el entorno de prueba (por ejemplo, eliminar los datos temporales, restaurar los valores predeterminados).Tambin puede guardar la memoria mediante la limpieza de las estructuras de memoria caros. Este mtodo se ejecuta una vez, antes del comienzo de todas las pruebas. Esto se puede utilizar para llevar a cabo actividades intensivas de tiempo, por ejemplo, para conectarse a una base de datos. Los mtodos anotados con esta anotacin es necesario definir comoestticos para trabajar con JUnit. Este mtodo se ejecuta una vez, despus de haber realizado todas las pruebas. Esto se puede utilizar para llevar a cabo las actividades de limpieza, por ejemplo, para desconectarse de una base de datos. Los mtodos anotados con esta anotacin es necesario definir comoestticos para trabajar con JUnit. No tiene en cuenta el mtodo de ensayo. Esto es til cuando se ha cambiado el cdigo subyacente y el caso de prueba todava no se ha adaptado. O si el tiempo de ejecucin de esta prueba es demasiado larga para ser incluida. No logra, si el mtodo no produce la excepcin nombrada.
@ Ignorar
1.4. Assert
JUnit proporciona mtodos estticos en el Afirmar clase para comprobar la existencia de ciertas condiciones. Estos mtodos afirmacin tpicamente comienzan con asevera y le permiten especificar el mensaje de error, el esperado y el resultado real. Un mtodo de afirmacin compara el valor real devuelto por una prueba para el valor esperado, y una AssertionException si la prueba de comparacin falla. se produce
La siguiente tabla ofrece una visin general de estos mtodos. Los parmetros en corchetes [] son opcionales. Tabla 2. Mtodos de ensayo Declaracin Descripcin
fallar (String)
Deje que el mtodo falle. Podra ser utilizado para comprobar que cierta parte del cdigo no se alcanza. O tener una prueba de no haber antes de implementar el cdigo de prueba.
Los exmenes que dos valores son iguales. Nota: para las matrices no se comprueba la referencia el contenido de las matrices.
Prueba de que los valores float o double coinciden. La tolerancia es el nmero de decimales que debe ser la misma.
assertNull objeto)
([Mensaje],
Nota Usted debe proporcionar mensajes significativos en las afirmaciones de modo que sea ms fcil para los desarrolladores para identificar el problema. Esto ayuda en la fijacin de la cuestin, sobre todo si alguien se ve en el problema, que no escribi el cdigo de prueba o el cdigo de prueba.
paquete com.vogella.junit.first;
pblico de clase MyTestRunner { pblicas estticas void (String [] args) { Resultado = JUnitCore.runClasses (MyClassTest. clase ), para (fallo Fallo: result.getFailures ()) { System.out.println (failure.toString ()); } }
Para ejecutar las pruebas JUnit fuera de Eclipse es necesario agregar el tarro biblioteca JUnit a la ruta de clase de su programa. Normalmente construir marcos como Apache Ant y Apache Maven se utilizan para ejecutar pruebas de forma automtica en una base regular.
2. Instalacin de JUnit
2.1. Con JUnit integrado en Eclipse
Eclipse le permite utilizar la versin de JUnit que est integrado en Eclipse. Si utiliza Eclipse no se requiere ninguna configuracin adicional. En este caso se puede omitir la siguiente seccin.
3. Apoyo Eclipse para JUnit 3.1. Creacin de pruebas JUnit Usted puede escribir las pruebas JUnit manualmente, pero Eclipse apoya la creacin de test JUnit mediante asistentes. Por ejemplo, para crear una prueba JUnit o una clase de prueba para una clase existente, haga clic en su nueva clase, seleccione esta clase en el Explorador de paquetes vista, haga clic derecho sobre l y seleccione Nuevo Caso de prueba JUnit.
Como alternativa, tambin puede utilizar el bajo Archivo Nuevo Otros... Java JUnit.
JUnit
magos
disponible
1ventana de resultado de pruebas de JUnit Por defecto esta vista muestra todas las pruebas tambin se pueden configurar, que muestra slo las pruebas que fallan.
2comfiguracion de pruebas
Tambin se puede definir que la vista slo se activa si usted tiene una prueba de falla.
3pruebas de falla
Nota
Eclipse crea configuraciones de ejecucin de las pruebas. Puede ver y modificar estos a travs de la ejecucin Ejecutar configuraciones... men.
que permite al desarrollador obtener finalizacin de cdigo contextual en un editor a peticin del usuario. Abra las Preferencias travs Windows seleccione Java Editor Content Assist Favoritos. Preferencias y
Utilice el nuevo Nuevo Tipo botn para aadir el org.junit.Assert tipo. Esto hace que, por dentro de JUnit se inserte las paqueterias ejemplo, la assertTrue , assertFalse y assertEquals mtodos disponibles directamente en el contenido Asistencias .
4configuracin de importacin Ahora puede utilizar Content Asistencias (atajo: Ctrl + Espacio) para agregar el mtodo y la importacin.
5banco de pruebas
6origen de prueba Pulse el Add Folder botn, luego presione el Crate New Folder botn. Cree la prueba de carpeta. El resultado se representa en el siguiente sceenshot.
7configuracin de prueba Alternativamente, usted puede agregar una nueva carpeta de origen, haga clic en un proyecto y seleccionando Nuevo Carpeta de origen.
pblico de clase MyClass { pblica int multiplicar ( int x, int y) { / / la siguiente es slo un ejemplo , si (x> 999 ) { lanzar nueva IllegalArgumentException ( "X debe ser inferior a 1000" ); } volver x / y; } }
Haga clic derecho en la nueva clase en el Explorador de paquetes vista y seleccione Nuevo Caso de prueba JUnit. En el siguiente asistente de garantizar que la prueba de 4 New JUnit se selecciona bandera y establecer la carpeta de origen para probar, para que su clase de prueba se crea en esta carpeta.
8Comprobacion de prueba Pulse el siguiente botn y seleccionar los mtodos que desee probar.
9Biblioteca de JUnit Si la biblioteca JUnit no es parte de la ruta de clases de su proyecto, Eclipse le pedir que lo agregue. Utilice esta opcin para agregar JUnit para su proyecto.
paquete com.vogella.junit.first;
@ AfterClass pblico esttico vaco TestCleanup () { / / desmontaje de los datos utilizados por las pruebas unitarias }
@ Prueba (esperado = IllegalArgumentException.class) pblico void testExceptionIsThrown () { MyClass tester = nuevo MyClass (); tester.multiply ( 1000 , 5 ); }
@ Prueba pblico void testMultiply () { MyClass tester = nuevo MyClass (); assertEquals ( "10 x 5 debe ser de 50" , 50 , tester.multiply ( 10 , 5 )); } }
El resultado de las pruebas se mostrar en el JUnit vista. En nuestro ejemplo, una prueba debe ser exitoso y una prueba debe mostrar un error. Este error es indicado por una barra roja.
10Ventana de pruebas La prueba est fallando porque nuestra clase multiplicador en la actualidad no funciona correctamente. Se hace una divisin en lugar de la multiplicacin. Corregir el error y vuelva a ejecutar la prueba para obtener una barra verde.
Usted marca una clase de prueba como una prueba de parmetros con el RunWith (Parameterized.class) @ anotacin. Esta clase de ensayo debe contener un mtodo esttico anotado con @ Parmetros que genera y devuelve una coleccin de matrices. Cada elemento de esta coleccin se utiliza como los parmetros para el mtodo de ensayo. Es necesario tambin crear un constructor en la que almacena los valores de cada prueba. El nmero de elementos en cada matriz proporcionada por el mtodo anotado con @ Parmetros debe corresponder con el nmero de parmetros en el constructor de la clase. La clase se crea para cada parmetro y se transmiten los valores de la prueba a travs del constructor de la clase. El siguiente cdigo muestra un ejemplo de una prueba con parmetros. Se asume que pruebe la multiplicacin () mtodo de la MyClass clase que se utiliz en el ejemplo anterior.
paquete de.vogella.junit.first; importar estticas org.junit.Assert.assertEquals;
importacin java.util.Arrays; importacin java.util.Collection; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @ RunWith (Parameterized.class) pblicos de clase MyParameterizedClassTest {
privada int multiplicador; pblica MyParameterizedClassTest ( int testParameter) { este multiplicador = testParameter.;
/ / Crea los datos de prueba @ Parmetros pblica esttica Collection datos <Object[]> () {
Si ejecuta esta clase de prueba, el mtodo de ensayo se ejecuta con cada parmetro definido. En el ejemplo anterior el mtodo de ensayo se ejecuta tres veces.
5.2. Reglas
A travs de la regla @ anotacin se pueden crear objetos que pueden ser utilizados y configurados en los mtodos de prueba. Esto aade ms flexibilidad para sus pruebas. Por ejemplo, puede especificar qu mensaje de excepcin el esperar durante la ejecucin del cdigo de prueba.
paquete de.vogella.junit.first;
@ Prueba pblico void throwsIllegalArgumentExceptionIfIconIsNull () { exception.expect (IllegalArgumentException. clase ); exception.expectMessage ( "Valor negativo no permitido" ); ClassToBeTested t = nueva ClassToBeTested (); t.methodToBeTest (- 1 ); } }
JUnit ya proporciona varias implementaciones tiles de reglas. Por ejemplo, el TemporaryFolderclase permite configurar los archivos y carpetas que se eliminan automticamente despus de una prueba. El cdigo siguiente muestra la TemporaryFolder aplicacin. un ejemplo para el uso de
paquete de.vogella.junit.first;
importacin org.junit.Rule;
@ Prueba pblico void testUsingTempFolder () lanza IOException { CreatedFolder File = folder.newFolder ( "NewFolder" ); Archivo createdFile = folder.newFile ( "myfilefile.txt" ); (createdFile.exists ()) assertTrue; } }
reglas
que
necesita
para
implementar