Cómo: Configurar la ejecución de las pruebas unitarias de base de datos

Este tema se aplica a:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

El tema es aplicable El tema es aplicable El tema no es aplicable El tema no es aplicable

Al configurar el proyecto de prueba, puede especificar varios valores de configuración que controlan aspectos relacionados con la manera en que se ejecutan las pruebas unitarias de base de datos. Estos valores de configuración se almacenan en el archivo app.config del proyecto de prueba. Si edita este archivo directamente, los valores nuevos aparecen en el cuadro de diálogo Configuración del proyecto.

Una solución puede contener varios proyectos de prueba. Cada proyecto de prueba contiene un archivo app.config (es decir, un conjunto de valores de configuración). En consecuencia, una solución puede tener varios conjuntos de pruebas unitarias de base de datos (un conjunto por cada proyecto de prueba) configurados para ejecutarse de distinto modo.

Los valores de configuración controlan cómo se conecta la prueba a la base de datos que se va a probar, cómo se implementa un esquema de un proyecto de base de datos en esa base de datos y si se va a llenar la base de datos mediante un plan de generación de datos:

  • Conexiones de base de datos. Esta configuración se usa para especificar las cadenas de conexión que se utilizan para la conexión con la base de datos que se va a probar. Para obtener más información, vea Especificar cadenas de conexión

  • Implementación del esquema. Un proyecto de base de datos es una representación sin conexión de una base de datos. El proyecto de base de datos representa la estructura de los objetos de base de datos pero no contiene datos. Después de realizar cambios de esquema en un proyecto de base de datos, puede probarlos en una base de datos real. En el paso de implementación del esquema, los objetos de base de datos que se desean probar se copian del proyecto de base de datos a la base de datos en la que se van a ejecutar las pruebas. Para obtener más información sobre la implementación del esquema, vea Implementar un esquema de base de datos.

  • Estado de base de datos. Al generar datos de prueba para la base de datos, puede establecer su estado antes de que comience la ejecución de prueba. Para establecer el estado de la base de datos, también puede restaurarlo de una copia de seguridad en el script TestInitialize. Para obtener más información sobre este enfoque, vea Scripts en pruebas unitarias de base de datos.

    Para especificar los datos que se van a generar, se crea un plan de generación de datos donde se identifican las tablas y columnas que deberían contener datos de prueba. También se especifica la forma que se desea que adopten los datos. Por ejemplo, puede generar el número correcto de dígitos para un número de teléfono o importar nombres de clientes ficticios de una base de datos de datos de prueba de la que se han quitado los datos confidenciales. Para obtener más información, vea Utilizar un plan de generación de datos.

    Nota

    Las pruebas no se ejecutan en la carpeta de soluciones, sino que en una carpeta independiente que se encuentra en el disco duro local. Aunque se pueden configurar algunos aspectos de la implementación de pruebas, normalmente no es necesario configurarlos para las pruebas unitarias de base de datos. Para obtener más información acerca de la implementación de pruebas, vea Ejecutar pruebas.

Especificar cadenas de conexión

Para especificar cadenas de conexión a bases de datos

  1. En el menú Prueba, haga clic en Configuración de prueba de base de datos.

    Aparecerá el cuadro de diálogo Configuración del proyecto 'TestProject'.

  2. En Conexiones de base de datos, se puede:

    • Hacer clic en la conexión a bases de datos en la que desea ejecutar las pruebas unitarias.

    • Activar la casilla Usar una conexión de datos secundaria para validar pruebas unitarias y hacer clic en una conexión a bases de datos de la lista si desea validar la ejecución de las pruebas en una conexión a bases de datos diferente.

    • Hacer clic en Nueva conexión para agregar una conexión a cualquiera de las listas. También puede hacer clic en Editar conexión para modificar la configuración de una conexión existente.

    Este paso crea la cadena de conexión ExecutionContext, que se utiliza para ejecutar el script de prueba de la prueba unitaria de base de datos. Si también especifica una conexión secundaria, se crea también la cadena de conexión PrivilegedContext. Esta conexión se utiliza para probar las interacciones con la base de datos fuera del script de prueba de la prueba unitaria de base de datos. Para obtener más información, vea Descripción general de las cadenas de conexión y los permisos.

  3. Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración del proyecto 'TestProject'.

  4. Vuelva a generar el proyecto de prueba para aplicar los cambios de configuración.

Implementar un esquema de base de datos

Para implementar en una base de datos el esquema de un proyecto de base de datos

  1. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto de base de datos y, a continuación, haga clic en Generar.

    Cuando se compila un proyecto de base de datos, se genera un script Transact-SQL. Este script, cuando se ejecuta en una base de datos, vuelve a crear la estructura de su proyecto de base de datos en esa base de datos.

  2. Seleccione el proyecto de prueba que desea configurar.

  3. En el menú Prueba, haga clic en Configuración de prueba de base de datos.

    Aparecerá el cuadro de diálogo Configuración del proyecto 'TestProject'.

  4. En Implementación, tiene las opciones siguientes:

    • Active la casilla Implementar automáticamente el proyecto de base de datos antes de ejecutar pruebas para asegurarse de que se confirman los cambios en el esquema realizados en el proyecto de base de datos antes de que se ejecuten las pruebas.

    • En Proyecto de base de datos, haga clic en el proyecto de base de datos que desea implementar o haga clic en los puntos suspensivos para buscar otro proyecto. Los archivos de proyecto de base de datos tienen la extensión .dbproj.

    • En Configuración de implementación, haga clic en la configuración de proyecto que desea usar para la implementación. Sus opciones son Depurar, Predeterminado o Liberar. No obstante, si crea una configuración para las pruebas unitarias, esa configuración también aparecerá como una opción.

  5. Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración del proyecto 'TestProject'.

    Al principio de la ejecución de pruebas, se ejecuta el script Transact-SQL que se generó en el paso 1. Esta acción implementa el esquema en la base de datos de destino.

  6. Vuelva a generar el proyecto de prueba unitaria de base de datos para aplicar los cambios de configuración.

    Nota

    Si está utilizando la generación de datos e implementa el esquema como parte de su proyecto de prueba unitaria, desactive la casilla Bloquear implementación incremental si puede dar lugar a pérdida de datos. Esta casilla aparece en la ficha Generar de las propiedades del proyecto de base de datos. Si no desactiva esta casilla antes de intentar implementar el esquema, se producirá un error en la implementación. Para obtener más información, vea Cómo: Controlar la pérdida de datos durante la implementación en bases de datos existentes.

Utilizar un plan de generación de datos

Para utilizar un plan de generación de datos con una prueba unitaria de base de datos

  1. Cree un plan de generación de datos. Para obtener más información, vea Cómo: Crear planes de generación de datos.

  2. Especifique las tablas que desea llenar con el plan de generación de datos. Para obtener más información, vea Cómo: Especificar tablas para la generación de datos.

  3. Especifique las columnas que desea llenar en esas tablas. Para obtener más información, vea Cómo: Especificar columnas para la generación de datos.

  4. Guarde el plan de generación de datos y tome nota de su nombre.

  5. En el Explorador de soluciones, haga clic en el proyecto de prueba que desea configurar.

  6. En el menú Prueba, haga clic en Configuración de prueba de base de datos.

    Aparecerá el cuadro de diálogo Configuración del proyecto 'TestProject'.

  7. En Estado de base de datos, siga estos pasos:

    • Active la casilla Generar datos de prueba antes de ejecutar pruebas unitarias para aplicar un plan de generación de datos al proyecto de base de datos antes de ejecutar las pruebas. Los planes de generación de datos tienen la extensión .dgen.

    • Haga clic en el plan de generación de datos que desea aplicar en la lista o haga clic en los puntos suspensivos para buscar un plan.

    • Active la casilla Borrar la base de datos antes de generar los datos de prueba para sobrescribir la base de datos de prueba existente en el proyecto de base de datos especificado.

  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración del proyecto 'TestProject'.

    El código que invoca el plan de generación de datos se agrega al método AssemblyInitialize del proyecto de prueba, que puede encontrar en el archivo denominado DatabaseSetup.cs o DatabaseSetup.vb. Si ejecuta ahora las pruebas unitarias de base de datos, el plan de generación de datos rellenará la base de datos una vez, al inicio de la ejecución de pruebas.

    Nota

    Los efectos de la generación de datos de prueba no se pueden revertir.

  9. (Opcional) Para utilizar este plan de generación de datos más de una vez en su ejecución de prueba, copie el código que lo invoca del método AssemblyInitialize y péguelo en otros métodos de la prueba unitaria de base de datos.

  10. Vuelva a generar el proyecto de prueba para aplicar los cambios de configuración.

Vea también

Tareas

Cómo: Crear planes de generación de datos

Conceptos

Comprobar código de base de datos mediante pruebas unitarias