Compartilhar via


Verificar o código do banco de dados usando testes de unidade do SQL Server

Você pode usar testes de unidade do SQL Server para estabelecer um estado de linha de base para o banco de dados e verificar as alterações subsequentes feitas em objetos de banco de dados.

Para estabelecer um estado de linha de base para um banco de dados, você cria um projeto de teste e escreve conjuntos de Transact-SQL que operam nos objetos do banco de dados. Usando esses testes, você pode verificar em um ambiente de desenvolvimento isolado se esses objetos funcionam conforme o esperado. O teste de unidade do SQL Server funciona bem em combinação com o desenvolvimento de banco de dados offline usando projetos de banco de dados do SQL Server. Para obter mais informações, o que são projetos de banco de dados SQL?. Depois de ter um conjunto de linhas de base de testes de unidade do SQL Server, você poderá usar esses testes para verificar se o banco de dados está funcionando corretamente antes de verificar as alterações no controle de versão.

Você pode criar testes que verificam alterações em qualquer objeto de banco de dados. Além disso, você pode gerar automaticamente stubs de Transact-SQL código que testam funções de banco de dados, gatilhos e procedimentos armazenados.

Observação

Você pode criar e executar testes de unidade do SQL Server sem ter um projeto de banco de dados aberto. No entanto, se você quiser gerar scripts de teste automaticamente para testar objetos de banco de dados específicos do seu projeto, será necessário abrir o projeto de banco de dados que contém os objetos que deseja testar.

À medida que você ou os membros da equipe alteram o esquema de banco de dados, você pode usar esses testes para verificar se as alterações quebraram a funcionalidade existente. Você cria testes de unidade do SQL Server para complementar os testes de unidade de software criados pelos desenvolvedores de software. Você deve concluir os dois conjuntos de testes para verificar o comportamento geral do aplicativo.

Os testes de unidade podem verificar se os procedimentos são bem-sucedidos quando se espera que eles tenham êxito e que os procedimentos falham quando se espera que eles falhem. Testes negativos referem-se a testar se falhas apropriadas ocorrem.

Suporte das edições do Visual Studio para testes de unidade no SQL Server

O recurso de testes de unidade do SQL Server, que foi adicionado na atualização de dezembro de 2012 do SQL Server Data Tools, permite criar, modificar e executar testes de unidade do SQL Server no Visual Studio 2010 Professional e no Visual Studio 2012 Professional e em edições superiores.

Para garantir que você instale a atualização mais recente do SQL Server Data Tools, acesse a caixa de diálogo Verificar se há atualizações.

O shell do SqL Server Data Tools integrado do Visual Studio 2010 e do Visual Studio 2012 não dá suporte a testes de unidade do SQL Server.

Tarefas comuns

Na tabela a seguir, você pode encontrar descrições de tarefas comuns que dão suporte a esse cenário e links para obter mais informações sobre como você pode concluir essas tarefas com êxito.

Tarefas comuns Conteúdo de suporte
Obtenha prática prática: Você pode seguir um passo a passo introdutório para se familiarizar com a criação e execução de um teste de unidade simples do SQL Server. Este passo a passo inclui um exemplo de um teste de unidade negativo do SQL Server. Passo a passo: criar e executar um teste de unidade do SQL Server
Definir testes de unidade do SQL Server: Você deve criar testes de unidade do SQL Server em seu próprio projeto. Você define as configurações desse projeto e define uma ou mais condições de teste para cada teste. Criar e definir testes de unidade do SQL Server

Usar condições de teste em testes de unidade do SQL Server
Execute testes de unidade do SQL Server: Depois de definir um ou mais testes de unidade, execute-os, depure todos os problemas e examine os resultados do teste. Executar testes de unidade do SQL Server
Gerenciar grupos de testes (Visual Studio 2010): Você pode organizar testes em grupos se eles geralmente devem ser executados ao mesmo tempo. Ainda há suporte para listas de teste, mas para novos grupos de testes, você deve levar em consideração categorias de teste. Por exemplo, você pode criar uma categoria de teste para os testes para seus gatilhos ou para todos os objetos em um esquema específico. Definindo categorias de teste para agrupar seus testes

Definindo listas de teste para agrupar seus testes
Verifique os projetos de teste e os testes no controle de versão: Depois de executar seus testes e verificar se eles funcionam corretamente, você deve verificar seu projeto de teste e todos os arquivos associados no controle de versão para que todos os membros da sua equipe possam executar seus testes. Ao verificar seu projeto de teste no controle de versão junto com seu projeto de banco de dados do SQL Server, você pode restaurar facilmente versões compatíveis do banco de dados e dos testes de banco de dados. Adicionar arquivos ao controle de versão

Usando o check-in e as alterações pendentes do Windows
Definir condições de teste personalizadas: Você poderá criar condições de teste personalizadas se precisar testar o comportamento que o conjunto padrão de condições de teste não abrange. Você deve distribuir essas condições para todos os membros da sua equipe que desejam executar os testes que usam as novas condições. Cenário: definir condições de teste personalizadas para testes de unidade do SQL Server
Atualizar testes de unidade existentes: Se você tiver testes de unidade de banco de dados criados em uma versão anterior do Visual Studio, deverá atualizá-los antes que eles sejam compilados e executados com êxito com esta versão.

NOTA: Se você abrir uma solução que contenha um projeto de banco de dados e um projeto de teste de unidade de banco de dados de uma versão anterior do Visual Studio, será solicitado que você atualize o projeto de banco de dados. Você não será solicitado a atualizar projetos de teste de unidade de banco de dados, que devem ser atualizados manualmente.
Atualizar um projeto de teste mais antigo que contém testes de unidade de banco de dados
Extensibilidade: Você pode estender as Ferramentas de Dados do SQL Server criando extensões de recursos. Condições de teste personalizadas para testes de unidade do SQL Server
Solucionar problemas: Saiba mais sobre como solucionar problemas comuns com o teste de unidade do SQL Server. Solucionar problemas de teste de unidade de banco de dados do SQL Server