Solucionar problemas con las pruebas unitarias de base de datos en SQL Server

 

Es posible que se produzcan los problemas que se describen en este tema cuando trabaje con pruebas unitarias de SQL Server en una base de datos:

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

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

  • Se agota el tiempo de espera al ejecutar pruebas unitarias en una base de datos

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

Si modifica el archivo App.Config en el proyecto de prueba, debe recompilar el proyecto de prueba para que esos cambios surtan efecto.Entre estos cambios se incluyen los que realiza en App.Config mediante el cuadro de diálogo Configuración de prueba de SQL Server.Si no recompila el proyecto de prueba, los cambios no se aplicarán cuando 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 desde un proyecto de base de datos cuando ejecuta pruebas unitarias, la base de datos se implementa con la información de la cadena de conexión especificada en la configuración de las pruebas unitarias.La información de conexión especificada en las propiedades Debug del proyecto de base de datos no se usa para esta tarea, lo que le permite ejecutar pruebas unitarias de SQL Server en diferentes instancias de la misma base de datos.

Se agota el tiempo de espera al ejecutar pruebas unitarias en una base de datos

Si las pruebas unitarias de la base de datos producen un error debido a que se ha agotado el tiempo de espera, aumente el período de tiempo de espera actualizando el archivo app.config en el proyecto de prueba.El tiempo de espera de conexión, definido en la cadena de conexión, especifica cuánto tiempo debe esperarse cuando la prueba unitaria se conecta al servidor.El tiempo de espera de comando, que debe definirse directamente en el archivo app.config, especifica cuánto tiempo debe esperarse cuando la prueba unitaria ejecuta el script de Transact-SQL.Si tiene problemas con pruebas unitarias de ejecución prolongada, pruebe a aumentar el valor de tiempo de espera de comando en el elemento de contexto correspondiente.Por ejemplo, para especificar un tiempo de espera de comando de 120 segundos para el elemento PrivilegedContext, actualice app.config del modo siguiente:

<SqlUnitTesting_VS2010>
    <DatabaseDeployment DatabaseProjectFileName="..\..\..\..\..\..\Visual Studio 2010\Projects\Database10\Database10\AdventureWorks.sqlproj"
        Configuration="Debug" />
    <DataGeneration ClearDatabase="true" />
    <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(LocalDB)\Projects;Initial Catalog=AdventureWorks_Test;Integrated Security=True;Pooling=False"
        CommandTimeout="30" />
    <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(LocalDB)\Projects;Initial Catalog=AdventureWorks_Test;Integrated Security=True;Pooling=False"
        CommandTimeout="120" />
</SqlUnitTesting_VS2010>

Vea también

Cómo: Crear pruebas unitarias de SQL Server para funciones, desencadenadores y procedimientos almacenados
Cómo: Configurar una ejecución de prueba unitaria de SQL Server