Compartilhar via


Solucionando problemas de teste de unidade de banco de dados

Quando você executa testes de unidade em um banco de dados, você pode encontrar os problemas neste tópico:

  • Permissões insuficientes ao executar testes de unidade ou gerar dados de teste

  • Testes de unidade e alterações de App. config ignoradas quando você executa testes de unidade

  • Implantação de banco de dados para o destino inesperado quando você executa testes de unidade

  • Tempos limite quando você executar testes de unidade de banco de dados

Permissões insuficientes ao executar testes de unidade ou gerar dados de teste

Você pode configurar um teste de unidade para implantar o banco de dados e gerar dados automaticamente. Se você não tem permissões suficientes para gerar dados no banco de dados de destino, você poderá receber um erro que indica somente que você não tem permissões para se conectar ao banco de dados.

ObservaçãoObservação

Para contornar esse problema, execute o o plano de geração de dados manualmente. Se você não tem permissões suficientes para gerar dados, essa abordagem lhe dará uma mensagem de erro mais detalhada que ajuda você a corrigir o problema.

Testes de unidade e alterações de App. config ignoradas quando você executa testes de unidade

Se você modificar o arquivo app. config no projeto de teste, você deve reconstruir o projeto de teste para que essas alterações tenham efeito. Essas alterações incluem aqueles que fazer App. config usando o Configuração de projeto caixa de diálogo. Se você não recompilar o projeto de teste, as alterações não são aplicadas quando você executar os testes de unidade.

Implantação de banco de dados para o destino inesperado quando você executa testes de unidade

Se você implantar um banco de dados quando você executa testes de unidade, o banco de dados é criado usando as informações de seqüência de caracteres de conexão especificada na sua configuração de teste de unidade. As informações de conexão especificada nas propriedades de compilação de projeto do banco de dados não são usadas para essa tarefa, você pode executar testes de unidade diferentes contra instâncias diferentes do mesmo banco de dados.

Tempos limite quando você executa testes de unidade de banco de dados

Se os testes de unidade de banco de dados estão falhando devido um tempo limite, você pode aumentar o tempo limite, atualizando o arquivo app. config em seu projeto de banco de dados. O tempo limite na seqüência de caracteres de conexão Especifica quanto tempo de espera quando o teste de unidade se conecta ao servidor. O tempo limite do comando Especifica quanto tempo de espera quando o teste de unidade executa o Transact-SQL script.

ObservaçãoObservação

Para contornar esse problema, especifique um valor maior para o atributo CommandTimeout no elemento de contexto apropriado no arquivo app. config para seu projeto de teste. Por exemplo, para especificar um tempo limite do comando de 120 segundos para o elemento PrivilegedContext, atualize o arquivo app. config da seguinte maneira:

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

Consulte também

Tarefas

Como: Criar testes de unidade de banco de dados de funções, procedimentos armazenados e disparadores

Como: Configurar a execução do teste de unidade de banco de dados