Compartilhar via


Usando T-SQL asserções em testes de unidade de banco de dados

In a teste de unidade de banco de dados, uma Transact-SQL (T-SQL) script de teste é executado e retorna um resultado.Às vezes, sistema autônomo resultados são retornados sistema autônomo um conjunto de resultados.Você pode validar os resultados usando as condições de teste.Por exemplo, você pode usar uma condição de teste para verificar quantas linhas foram retornadas em um conjunto de resultados específico ou para verificar um teste específico quanto tempo demorou para executar.Para obter mais informações sobre condições de teste, consulte Usando condições de teste em testes de unidade de banco de dados.

Em vez de usar condições de teste, você também pode usar asserção T-SQL, que é Instruções RAISERROR em um script T-SQL.Em determinadas circunstâncias, talvez você prefira usar uma declaração T-SQL em vez de uma condição de teste.

Usando o T-SQL asserções

Você deve considerar os seguintes pontos antes de decidir validar dados usando declarações T-SQL ou com o uso de condições de teste.

  • Desempenho.É mais rápido executar uma declaração T-SQL no servidor que a primeiro mover dados para um computador cliente e manipulá-lo localmente.

  • Familiaridade com o linguagem.Talvez prefira um linguagem específico com base em sua experiência corrente e, portanto, escolher asserções T-SQL ou condições de teste translation from VPE for Csharp ou o Visual Basic.

  • Validação complicada.Em alguns casos, você pode construir uma validação mais complexa de teste mais simplesmente em translation from VPE for Csharp ou no Visual Basic e validar os testes no cliente.

  • Bibliotecas de validação herdado.Se você já tiver código que executa a validação, você pode usá-lo em um teste de unidade de banco de dados em vez de utilizar condições de teste.

A demonstrativo RAISERROR

Você pode usar declarações T-SQL diretamente no servidor usando a demonstrativo RAISERROR no script T-SQL.A sintaxe é:

**RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState)**

Onde:

@ ErrorMessage é qualquer mensagem de erro definidas pelo usuário.Você pode formatar esta cadeia de caracteres da mensagem semelhante à função printf_s.

@ ErrorSeverity é um nível de gravidade definidos pelo usuário entre 0 e 18.

Observação:

Os valores 0 ' e '10' para o nível de gravidade não causam o teste de unidade de banco de dados falhar.Você pode usar qualquer Outros valor no intervalo 0 - 18 para fazer com que o teste falhar.

@ ErrorState é um inteiro arbitrário de 1 – 127.Você pode usar este inteiro para diferenciar entre ocorrências de um único erro é gerado em diferentes locais no código.

Para obter mais informações, consulte () "RAISERROR (Transact-SQL)"https://go.Microsoft.com/fwlink/?LinkId=66014) nos manuais online do SQL servidor.Um exemplo de uso RAISERROR em um teste de unidade de banco de dados é fornecido no tópico, Como: Escrever um teste de unidade de banco de dados é executado dentro do escopo de uma única transação.

Consulte também

Tarefas

Como: Abra um teste de unidade de banco de dados para edição

Conceitos

Usando condições de teste em testes de unidade de banco de dados

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

Outros recursos

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