Compartilhar via


Solucionar problemas de teste de unidade de banco de dados do SQL Server

Você pode encontrar os seguintes problemas ao trabalhar com testes de unidade do SQL Server em um banco de dados.

O teste de unidade e as alterações de app.config são ignorados quando você executa testes de unidade

Se você modificar o app.config arquivo no projeto de teste, deverá recompilar o projeto de teste antes que as alterações entrem em vigor. Essas alterações incluem qualquer alteração que você faça em app.config com a caixa de diálogo Configuração de Teste do SQL Server. Se você não recompilar o projeto de teste, as alterações não serão aplicadas quando você executar os testes de unidade.

Implantação de banco de dados para destino inesperado ao executar testes de unidade

Se você implantar um banco de dados de um projeto de banco de dados ao executar testes de unidade, o banco de dados será implantado usando as informações de cadeia de conexão especificadas na configuração de teste de unidade. As informações de conexão especificadas nas propriedades de depuração do projeto de banco de dados não são usadas para essa tarefa, o que permite executar testes de unidade do SQL Server em instâncias diferentes do mesmo banco de dados.

Tempos limite ao executar testes de unidade de banco de dados

Se os testes de unidade de banco de dados estiverem falhando devido a um tempo limite, você poderá aumentar o período do tempo limite atualizando o arquivo app.config em seu projeto de teste. O tempo limite de conexão, definido na cadeia de conexão, especifica quanto tempo aguardar quando o teste de unidade se conectar ao servidor. O tempo limite do comando, que deve ser definido diretamente no app.config arquivo, especifica quanto tempo aguardar quando o teste de unidade executar o script Transact-SQL. Se você tiver problemas com testes de unidade de execução prolongada, tente aumentar o valor do tempo limite do comando no elemento de contexto apropriado. Por exemplo, para especificar um tempo limite de comando de 120 segundos para o elemento PrivilegedContext , atualize o app.config seguinte:

<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>