Cómo: Crear una prueba unitaria controlada por datos
Una prueba unitaria se puede establecer de tal forma que, en lugar de escribir los valores en un método de prueba, se puedan recuperar los valores de un origen de datos. La prueba unitaria se ejecuta consecutivamente para cada fila del origen de datos. Esto facilita las pruebas de diversas entradas en una sola ejecución de pruebas.
Para configurar una prueba unitaria a fin de recuperar los valores de un origen de datos, se necesitan dos fases. La primera consiste en realizar la conexión entre el método de prueba unitaria y el origen de datos mediante las Propiedades de la prueba unitaria. La segunda fase consiste en asignar las variables del método para recuperar sus valores de la columna adecuada del origen de datos. Esto se hace en la lógica del propio método de prueba.
Ejemplo de prueba unitaria controlada por datos
En la ilustración siguiente se muestran dos pruebas unitarias: una de ellas suma dos números y la otra concatena un nombre con un apellido. Estas pruebas unitarias están configuradas para recuperar de una base de datos los valores para las pruebas.
Pruebas unitarias controladas por datos
Esta línea proporciona el atributo DataSource y la cadena de conexión. La información exacta de la cadena de conexión varía, dependiendo de qué tipo de origen de datos se utilice. En este ejemplo, hemos utilizado una base de datos de Access.
Cuando los valores proceden de la tabla de base de datos, se deben convertir en el tipo adecuado. En este ejemplo, la primera prueba unitaria convirtió los valores de la base de datos en cadenas y la segunda prueba unitaria los convirtió en enteros.
La propiedad TestContext.DataRow indica a la prueba unitaria de qué fila debe recuperar los datos. En este caso, recuperará los datos empezando en la primera fila y, a continuación, avanzará secuencialmente hasta que llegue a la última fila de la tabla. Para obtener más información sobre esta propiedad, vea TestContext.
El nombre de la columna indica a la prueba unitaria de qué columna debe recuperar los datos.
Para ver los resultados detallados de cada fila de datos que la prueba ha utilizado, haga doble clic en la prueba en la ventana Resultados de pruebas.
Resultados detallados de una prueba unitaria controlada por datos
Realizar una conexión entre la prueba unitaria y el origen de datos
Esta es la primera fase de la configuración de una prueba unitaria para utilizar un origen de datos. En esta fase, se realiza la conexión entre el método de prueba unitaria y el origen de datos.
Este procedimiento muestra cómo utilizar las Propiedades de la prueba unitaria para crear la conexión. Sin embargo, también se puede crear la conexión creando un archivo app.config y agregando en él la información de conexión. La ventaja de utilizar un archivo app.config es que se puede cambiar la ubicación de la base de datos sin realizar cambios en la propia prueba unitaria. Para obtener información sobre cómo crear y utilizar un archivo app.config, vea Tutorial: Utilizar un archivo de configuración para definir un origen de datos.
Nota
Si sabe utilizar cadenas de conexión de datos, puede escribir la cadena de conexión de datos después del primer corchete del elemento [TestMethod()] en lugar de utilizar la ventana Propiedades.
[DataSource(la cadena de la conexión de datos va aquí), TestMethod()]
Para conectar la prueba unitaria al origen de datos
Abra la solución que contiene el método de prueba para el que desea utilizar un origen de datos.
En el menú Prueba, seleccione Ventanas y, a continuación, haga clic en Vista de pruebas.
En la ventana Vista de pruebas, haga clic con el botón secundario en la prueba unitaria para la que desea utilizar un origen de datos y seleccione Propiedades.
En la ventana Propiedades, haga clic en Cadena de conexión a datos y, a continuación, haga clic en los puntos suspensivos (...).
Siga las instrucciones del Asistente para nuevo origen de datos de prueba a fin de crear la conexión de datos.
Una cadena de conexión se agrega a la prueba unitaria después del primer corchete del elemento [TestMethod()].
Asignar variables que tomen sus valores del origen de datos
Esta es la segunda fase de la configuración de una prueba unitaria para utilizar un origen de datos. En esta fase, se asignan las variables del método para recuperar sus valores de la columna adecuada del origen de datos.
Para asignar las variables a los valores del origen de datos
Abra el archivo de prueba unitaria que contiene el método de prueba para el que desea utilizar un origen de datos y busque las variables del método de prueba.
Para cada variable que deba proceder del origen de datos, se utiliza la sintaxis TestContext.DataRow["nombreDeColumna"].
Nota
Puede que tenga que convertir los tipos de datos del origen de datos en los del proyecto de código de pruebas, como se muestra en el ejemplo anterior.
Ejecutar la prueba unitaria y ver los resultados
Una prueba unitaria controlada por datos se ejecuta exactamente igual que cualquier otra prueba unitaria. Para ver los resultados detallados de cada fila de datos que la prueba ha utilizado, haga doble clic en la prueba en la ventana Resultados de pruebas.
Para ejecutar y ver los resultados de una prueba unitaria controlada por datos
Haga clic con el botón secundario del mouse en cualquier parte de la prueba unitaria y seleccione Ejecutar pruebas.
Después de ejecutarse la prueba, haga doble clic en ella en la ventana Resultados de pruebas para ver los resultados de cada iteración de pruebas en la ventana Resultados de prueba controlados por datos.