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.
La captura de pantalla siguiente muestra un ejemplo 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.
Con las tablas de datos de prueba puede realizar las siguientes tareas:
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.
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.
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.
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.)
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.