Partilhar via


Visão geral do teste de unidade de banco de dados

Você pode usar testes de unidade de banco de dados para estabelecer um estado de linha de base para seu banco de dados e para verificar se quaisquer alterações subseqüentes faça objetos de banco de dados.A primeira etapa é gravar conjuntos de testes do T-SQL exercício de um determinado banco de dados object e verificar se o objeto de banco de dados está funcionando corretamente.Então, sistema autônomo você alterar esquema subjacente, você usar esses testes para verificar que sistema autônomo alterar não tiver quebrado funcionalidade existente.Ao escrever testes de unidade que avaliam o sucesso ou fracasso de databsistema autônomoe alterações de design, você pode garantir que essas alterações sejam aplicadas sistema autônomo esperado e sem introduzir erros.Testes de unidade de banco de dados são complementares para os testes de unidade de software criados por desenvolvedores de software.Os dois conjuntos de testes de unidade são necessários para gerenciar as alterações para o aplicativo geral.

Para gravar testes de unidade, você precisa primeiro criar um ambiente de desenvolvimento isolado do banco de dados que é separado do seu banco de dados de produção.Usando Visual Studio Team System Database Edition, siga estas etapas básicas:

  1. Criar um projeto de banco de dados

  2. Importar o esquema de seu banco de dados de produção para esse projeto

  3. Implantar o projeto de banco de dados para criar um banco de dados que usa o mesmo esquema sistema autônomo o banco de dados de produção

  4. popular o banco de dados com os dados de teste

Depois do ambiente de desenvolvimento isolado do banco de dados é estabelecido e preenchido com dados, você pode iniciar, em seguida, escrever testes de unidade para avaliar os objetos de banco de dados nesse ambiente.Quando os objetos de banco de dados tenham sido testados, esses testes de unidade podem ser usados para detectar regressões na funcionalidade devido às alterações no banco de dados.Testar essas alterações em um ambiente de desenvolvimento isolado, você garante que o seu banco de dados de produção não seja comprometido.Depois de testar completamente as alterações, você pode implantar os testes de unidade volta em um ambiente de teste maior do que contém as alterações do Outros membro da equipe, onde elas permitirão que você rapidamente identificar e corrigir regressões causados por alterações no banco de dados adicionais.

Você também pode executar testes de unidade sistema autônomo parte do processo de implantação manual.Nesse caso, você deve gerar um script de construção de um conjunto de origens rotulado, edite o script de construção, conforme necessário.Implantar o banco de dados em um servidor de preparo e, em seguida, execute os testes de unidade de banco de dados e software para verificar o banco de dados e o estado geral do aplicativo.Depois que todos os testes foram bem-sucedidos, em seguida, você pode implantar o banco de dados de volta para o ambiente de produção.Para obter mais informações, consulte Gerenciamento de alterar do banco de dados.

Criando testes de unidade de banco de dados

Você pode criar o banco de dados de testes de unidade que avaliar as alterações feitas em qualquer objeto de banco de dados no entanto, Database Edition inclui alguns suporte adicional para funções de banco de dados, disparadores e procedimentos armazenados. Quando você cria um teste para esses objetos, stubs do código T-SQL para o objeto de banco de dados de teste são gerados automaticamente para você personalizar.Para obter mais informações, consulte Como: Criar testes de unidade de banco de dados para procedimentos armazenados, disparadores e funções e Como: Criar um teste de unidade de banco de dados vazio.

Observação:

Você pode criar e executar testes de unidade de banco de dados sem ter um projeto de banco de dados em em aberto.No entanto, você deve ter o projeto de banco de dados que contém os objetos que deseja teste aberta para gerar scripts T-SQL a partir desses objetos.

Criando testes de unidade

Como Outros testar tipos incorporados Visual Studio Team System Test Edition, testes de unidade de banco de dados também são integradas ao Visual Studio. Usando o Teste de unidade de banco de dados Designer, você pode definir scripts de teste do Transact-SQL (T-SQL) que executar scripts de banco de dados e, em seguida, avaliar os resultados desses scripts contra condições de teste que indicam se a ação de script foram bem-sucedidos ou falhou.

The Criador de teste de unidade do banco de dados contém os seguintes recursos:

Recurso

Objetivo

BAR de navegação- Nome de teste lista box

selecionar testes de unidade individuais no projeto teste por nome ou selecionar Scripts comuns para desenvolver scripts executados antes ou após cada unidade de teste na mesma classe de teste.

BAR de navegação- Testecaixa de listagem

selecionar o Pre-test, teste ou opções Post-Test para scripts gravar T-SQL e condições de teste que são avaliadas em momentos diferentes durante o teste de unidade.Você pode usar o script pre-teste para estabelecer um determinado estado dentro do banco de dados de desenvolvimento.Você pode usar o script de teste post para retornar o banco de dados para o estado inicial após a execução do teste ou, dependendo das permissões necessárias, usá-la para avaliar o sucesso do teste.

Editor T-SQL

Usar este editor para gravar o pre-test, teste e post-test script T-SQL que são usados em seu teste de unidade.Usando o T-SQL RAISERROR comando, você também pode escrever T-SQL declarar instruções no script de teste em vez de utilizar condições de teste. Como testar condições, este comando também pode ser usado para indicar se o teste de passa ou falha com base no valor de gravidade.Para obter mais informações, consulte Usando T-SQL asserções em testes de unidade de banco de dados.

Condições de teste painel

Use as condições de teste nessa janela para avaliar os resultados da execução do script T-SQL.

Usando condições de teste

The Condições de teste painel fornece um conjunto de condições de teste predefinidos para testar sistema autônomo coisas, sistema autônomo o número de linhas retornado em um resultado definido, a quantidade de time necessário para executar o script T-SQL, e se um conjunto de resultados está vazio.Cada condição de teste predefinida tem um método Assert (definido na base TestCondition classe) isto é chamado quando avaliar uma condição de teste. Se um teste de condições de falha ao avaliar os resultados de execução com os resultados desejados, a condição lança uma exceção e um resultado de falha é retornado no janela Resultados do Teste.Condições de teste indicam que o teste passado por não gerar uma exceção.

Quando você executa o teste, o script T-SQL é executado primeiro e retorna um resultado.Normalmente, isso é um conjunto de resultados.A implementação da condição de teste determina que parte das informações retornadas é avaliado para o sucesso.Por exemplo, a condição de teste do time de execução avalia o time necessário para executar o script T-SQL e a condição de teste escalar valor avalia um valor em uma linha específica.Um indicador de pass ou fail é exibido no Resultados de teste janela dependendo do resultado dessa avaliação.O indicador de aprovação/reprovação depende da avaliação bem-sucedida de todas as condições de teste para o script de teste.Se uma condição lança uma exceção, o teste sistema autônomo um todo falhar.

Existem seis condições de teste predefinidos, mas sistema autônomo condições de teste são extensíveis, você pode adicionar outros à lista de condições de teste, conforme necessário.Você também pode usar a função T-SQL RAISERROR no script T-SQL para produzir uma passagem ou resultado de falha e ter isso aparecem no janela Resultados do Teste.Para obter mais informações, consulte Usando T-SQL asserções em testes de unidade de banco de dados.

Observação:

Uma condição de teste Inconclusive é adicionada automaticamente aos testes de unidade gerado no Test Edition e os testes de unidade de banco de dados geradas Database Edition. Testes são marcados sistema autônomo "inconclusivo" Se esta condição de teste é avaliada.A condição de teste inconclusivo lança um InconclusiveException. Por padrão, essa condição de teste está incluída em todos os testes para lembrá-lo para adicionar que outras declarações ou condições de teste.Você pode remover com facilidade essa condição de teste selecionando-o no Condições de teste janela e clicando no Excluir condição de teste ícone.

Para obter uma lista completa das condições de teste predefinidos, consulte Usando condições de teste em testes de unidade de banco de dados.

Testes também podem falhar se time limite ou se são anuladas.Para obter mais informações sobre os resultados que você pode ver na janela Resultados de Teste, consulte Resultados de Teste Básico.

Teste de unidade e teste de dados

Você pode usar o recurso de geração de dados de Team Edition for Database Professionals Para adicionar dados de teste ao seu ambiente de banco de dados. Este recurso inclui um agrupar de geradores de dados produzirá os mesmos dados dado um valor semente específico.Isso permite que você gerar os dados, inspecionar o banco de dados gerado para determinar os resultados que vários testes devem produzir e então escrever testes de acordo.Para obter mais informações sobre como usar geração de dados com o teste de unidade, consulte Demonstra Passo a passo: Criando e executando um teste de unidade de banco de dados. Para obter mais informações sobre os geradores de dados diferentes, consulte Visão geral de geração de dados.

Teste de linha de comando

Você pode executar testes de unidade de banco de dados dentro do IDE ou em um aviso de comando para automatizar o teste é executado.Para obter mais informações, consulte Execução do teste de linha de comando.

Consulte também

Tarefas

Como: Adicionar condições de teste para testes de unidade de banco de dados

Conceitos

Visão geral do Editor de Transact-SQL

Visão geral da terminologia do banco de dados edição