Tablas de datos de prueba

Una tabla de datos de prueba le permite definir datos de entrada y salida esperada de pruebas que pueden utilizarse al ejecutar una prueba. Las tablas de datos de prueba están sincronizadas con el script de comportamiento de prueba, por lo que la modificaciones que realice en el código quedarán reflejadas en la tabla de datos de prueba y viceversa.

Dado que cada tabla de datos de prueba se correlaciona con un caso de prueba concreto (un método de prueba JUnit) del código de prueba, se crea automáticamente una tabla de datos de prueba aparte para cada método de prueba. A medida que trabaja con el código de comportamiento de prueba, la vista de la tabla de datos de prueba se actualiza automáticamente al mover el cursor de una casilla a otra. Al abrir por primera vez el código de comportamiento de prueba, no se visualizarán datos de la tabla de datos de prueba hasta que mueva el cursor a un método de prueba en el código.
Nota: Para que la tabla de datos de prueba y el script de comportamiento de prueba se sincronicen de la forma esperada, asegúrese de que la opción Proyecto > Construir automáticamente esté habilitada. Pulse Botón Guardar Guardar para forzar la sincronización.

La captura de pantalla siguiente muestra un ejemplo de una tabla de datos de prueba.Ilustración de una tabla de datos de prueba

Cada fila de la tabla de datos de prueba representa un objeto o expresión del código, mientras que cada columna representa un conjunto de datos (o clase de equivalencia). Cada columna del conjunto de datos se divide en dos, una mitad para los valores de entrada y la otra mitad para los valores de salida esperados. Las salidas esperadas incluyen valores de retorno, excepciones y los parámetros que estén marcados específicamente para salida.

La tabla de datos de prueba proporciona la asistencia de contenido que completa el contenido automáticamente en determinadas casillas al pulsar Control+Espacio. También valida automáticamente la sintaxis y el tipo de datos para garantizar que los datos que especifique sean sintácticamente correctos.
Nota: La validación de sintaxis se desactiva automáticamente si no se puede compilar una prueba.

Con las tablas de datos de prueba puede realizar las siguientes tareas:

Proporcionar datos de prueba en forma de expresiones, conjuntos, rangos y agrupaciones de datos

Cualquier expresión válida sintácticamente que pueda aparecer en el lado derecho de una sentencia de asignación puede entrarse como una expresión en la tabla de datos de prueba. Esto incluye primitivos, series (entre comillas), referencias de variables y llamadas a método y constructor.

También puede insertar conjuntos y rangos para utilizarlos como entrada de prueba, salidas esperadas y valores de retorno. La tabla de datos de prueba contiene sus propios editores de conjuntos y rangos para definir conjuntos y rangos. Simplemente pulse con el botón derecho del ratón en una celda de la tabla y pulse Definir conjunto o Definir rango. Tenga en cuenta que no puede entrar un conjunto o un rango dentro de la celda sin utilizar los editores de conjuntos o rangos. Un conjunto se muestra en una tabla de datos mediante llaves ({ }) y mediante todos los valores separados por comas necesarios para definir el conjunto. Un rango se muestra en una tabla de datos mediante valores separados por comas dentro de corchetes ([ ])

Las tablas de datos de prueba también pueden incluir enlaces a agrupaciones de datos. Una agrupación de datos es una colección de registros de datos relacionados compuestos de tipos de datos primitivos o de los tipos de envoltura correspondientes. La tabla de datos de prueba interpreta cada variable de la agrupación de datos como un conjunto. Puede editar la agrupación de datos con el Editor de agrupaciones de datos que solo puede abrir efectuando una doble pulsación sobre el enlace de agrupación de datos.

Añadir elementos a una matriz

Además de utilizar expresiones, rangos, conjuntos y objetos en tablas de datos de prueba, también puede utilizar matrices. Una matriz es un contenedor para una lista ordenada de elementos primitivos o de objeto. Las matrices pueden tener una dimensión o varias; es decir, pueden contener otras matrices. Las matrices se visualizan jerárquicamente en la tabla de datos de prueba, apareciendo cada elemento de la matriz en su propia fila, situado debajo de la fila que representa a la matriz. Cada elemento de la matriz se visualiza con su índice y puede recuperarse y cambiarse independientemente. Así, el primer elemento de la matriz se visualiza como [0], el segundo elemento se visualiza como [1], etcétera.

Proporcionar datos de prueba para los atributos de tipos de datos de objeto

Los argumentos que se basan en tipos primitivos (int, char, double, long, etcétera), los tipos primitivos derivados (por ejemplo Integer o Double), o en series pueden visualizarse como una única fila en una tabla de datos de prueba. No obstante, los objetos con múltiples atributos de definición no pueden visualizarse en una única fila en la tabla de datos de prueba. Estos objetos complejos están representados jerárquicamente en varias filas de la tabla de datos de prueba.

Al pulsar en la tabla de datos de prueba en cualquier celda que contenga un objeto, puede seleccionar de una lista de maneras de definir el objeto. Los objetos pueden definirse de acuerdo con uno o varios constructores o uno o varios conjuntos de propiedades de objetos. Al elegir un elemento de la lista, la fila que representa el objeto se expande para mostrar los atributos de definición que ha elegido.

Dividir los datos en conjuntos de datos

Un conjunto de datos (o clase de equivalencia) es un conjunto de valores de entrada que se espera que invoquen el mismo comportamiento. Los conjuntos de datos le ayudan a dividir los datos en unidades lógicas que el código deberá manejar de la misma manera. Cada conjunto de datos de una tabla de datos de prueba contiene una columna para los datos de entrada y otra columna para los valores de salida esperados.

Cada conjunto de datos proporciona valores para una o varias pruebas. Si hay tres conjuntos de datos en la tabla de datos de prueba, se ejecutará el mismo comportamiento de prueba al menos tres veces. (Si se utilizan conjuntos y rangos como valores en la tabla de datos de prueba, habrá una ejecución de prueba para cada valor del conjunto o rango.)

Utilizar una subclase para inicializar y probar un objeto

Las tablas de datos de prueba contienen una columna de tipo que puede editarse de forma que las variables de un tipo de interfaz o un tipo con clases heredadas pueden tener datos que sean de la clase o subclase de implementación. Por ejemplo, imagine un método hipotético denominado drawCalendar que toma un solo argumento del tipo Calendar que, a su vez, tiene GregorianCalendar y LunarCalendar como subclases. Si desease definir un conjunto de pruebas que pasen un objeto de tipo GregorianCalendar, tendría que editar el campo de tipo del argumento. Al editar el tipo, el tipo de argumento original se visualiza en la firma del método.

Especificar puntos de interrupción en conjuntos de datos

Al depurar las pruebas, puede ser útil definir puntos de interrupción en la tabla de datos de prueba. Cuando ejecuta la prueba en modalidad de depuración, un punto de interrupción origina la suspensión de la ejecución de un programa en el lugar en el que se ha establecido el punto de interrupción. Hay tres lugares en los que pueden establecerse los puntos de interrupción en una prueba:
  • En la regla izquierda del editor Java: aquí se suspende la ejecución en la línea correspondiente en el script de comportamiento de prueba.
  • En la regla izquierda de la tabla de datos de prueba. Esto suspende la ejecución cuando se encuentra la acción correspondiente.
  • En la cabecera del conjunto de datos de la tabla de datos de prueba: esto suspende la ejecución cuando se encuentra el conjunto de datos correspondiente.
Para establecer un punto de interrupción, efectúe una doble pulsación sobre la regla o la ubicación correspondientes o pulse con el botón derecho del ratón y seleccione Conmutar punto de interrupción en el menú de contexto.
Conceptos relacionados
Conjuntos de datos
Técnicas de particionamiento de datos
Expresiones
Proceso de generación de pruebas
Tablas de datos de apéndice
Tareas relacionadas
Definir conjuntos
Definir rangos
Añadir elementos a una matriz
Enlazar con una agrupación de datos
Proporcionar datos de prueba para los atributos de tipos de datos de objeto
Utilizar una subclase para inicializar y probar un objeto
Seleccionar una excepción esperada
Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.