Share via


Solución de problemas de pruebas unitarias de base de datos

Los problemas descritos en este tema pueden surgir al realizar pruebas unitarias en una base de datos:

  • Permisos insuficientes al ejecutar pruebas unitarias o generar datos de prueba

  • Se omiten las pruebas unitarias y los cambios de App.Config al ejecutar pruebas unitarias

  • Implementación de la base de datos en un destino inesperado al ejecutar pruebas unitarias

  • Se agotan los tiempos de espera al ejecutar pruebas unitarias de base de datos

Permisos insuficientes al ejecutar pruebas unitarias o generar datos de prueba

Puede configurar una prueba unitaria para que implemente la base de datos y genere datos automáticamente. Si no tiene los permisos necesarios para generar datos para la base de datos de destino, se producirá un error que le indicará que no tiene los permisos necesarios para conectarse a la base de datos.

Nota

Para solucionar este problema, ejecute manualmente el plan de generación de datos. Si no tiene los permisos necesarios para generar datos, este enfoque le proporcionará un mensaje de error más detallado que le ayudará a solucionar el problema.

Se omiten las pruebas unitarias y los cambios de App.Config al ejecutar pruebas unitarias

Si modifica el archivo App.Config en el proyecto de prueba, debe volver a generar el proyecto de prueba para que los cambios surtan efecto. Estos cambios incluyen los realizados en App.Config mediante el cuadro de diálogo Configuración del proyecto. Si no vuelve a generar el proyecto de prueba, los cambios no se aplicarán hasta que ejecute las pruebas unitarias.

Implementación de la base de datos en un destino inesperado al ejecutar pruebas unitarias

Si implementa una base de datos al realizar pruebas unitarias, la base de datos se creará con la información de cadena de conexión especificada en la configuración de las pruebas unitarias. La información de conexión especificada en las propiedades de generación del proyecto de base de datos no se usa para esta tarea, por lo que puede ejecutar pruebas unitarias diferentes en distintas instancias de una misma base de datos.

Se agotan los tiempos de espera al ejecutar pruebas unitarias de base de datos

Se las pruebas unitarias de base de datos no se realizan correctamente al agotarse el tiempo de espera, puede incrementar el tiempo de espera actualizando el archivo app.config en su proyecto de base de datos. El tiempo de espera de la cadena de conexión especifica cuánto tiempo debe esperar la prueba unitaria para conectarse al servidor. El comando time-out especifica el tiempo que debe esperarse cuando la prueba unitaria ejecuta el script de Transact-SQL.

Nota

Para evitar este problema, especifique un valor mayor para el atributo CommandTimeout en el elemento Context adecuado del archivo app.config de su proyecto de prueba. Por ejemplo, para especificar un comando time-out de 120 segundos para el elemento PrivilegedContext, actualice app.config tal y como se expone a continuación:

<DatabaseUnitTesting>
    <DatabaseDeployment DatabaseProjectFileName="test.dbproj" Configuration="Debug" />
    <DataGeneration DataGenerationFileName="test.dgen" ClearDatabase="true" />
    <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="another connection string" />
    <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="test" CommandTimeout="120" />
</DatabaseUnitTesting>

Vea también

Tareas

Cómo: Crear pruebas unitarias de base de datos para funciones, desencadenadores y procedimientos almacenados

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