Compartilhar via


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

Em um típico teste de unidade de banco de dados, uma Transact-SQL (T-SQL) script de teste é executado e retorna uma instância do ExecutionResult classe. A instância dessa classe contém um DataSet, o time de execução e as linhas afetadas pelo script.Todas essas informações são coletadas durante a execução do script.Esses resultados podem ser avaliados no script T-SQL usando o RAISERROR função, ou pode ser avaliada por meio de condições de teste. Visual Studio Team System Database Edition Fornece um conjunto de condições de teste predefinidos para uso.

Condições de teste predefinidos

A tabela a seguir lista as condições de teste predefinidos que podem ser adicionados usando o painel de condições de teste no designer de banco de dados teste de unidade.

Condição de teste

Descrição da condição de teste

ResultSet vazio

Falha se o conjunto de resultados retornado a partir do script T-SQL não está vazio.

time de execução

Falha se o T-SQL script de teste leva mais tempo do que o esperado para executar.O time de execução padrão é 30 segundos.

O time de execução aplica-se ao teste de script de teste somente, não a script pre-test ou o script post-test.

Inconclusive

Sempre produzirá um teste com um resultado de Inconclusive.Esta é a condição padrão adicionada a todos os testes.Essa condição de teste é incluída para indicar a verificação de teste não foi implementada.Excluir esta condição de teste do seu teste após ter adicionado Outros condições de teste.

ResultSet não vazio

Falhará se o conjunto de resultados estiver vazio.Você pode usar essa condição de teste ou o EmptyResultSet com a função T-SQL @@ RAISERROR no seu script de teste para testar se uma atualização que funcionava corretamente.Por exemplo, você pode salvar os valores pre-update, execute a atualização, comparar valores post-update e gerar um erro se você não obtiver os resultados esperados.

Contagem de linha

Falhará se o conjunto de resultados não contém o número esperado de linhas.

Valor escalar

Falha se um valor específico no conjunto de resultados não é igual ao valor especificado.O padrão de Valor esperado é nulo.

Observação:

A condição de time de execução de teste especifica um limite de time em que o script de teste T-SQL deve executar.Se esse limite de time for excedido, o teste falhar.Resultados de teste também incluem uma estatística de duração, que difere da condição de teste da time de execução.A estatística de duração inclui não apenas o time de execução, mas também o time para se conectar ao banco de dados duas vezes, a time para executar qualquer Outros teste scripts, sistema autônomo o script pre-test e script post-test; e a time para executar sistema autônomo condições de teste.Portanto, um teste pode passar, mesmo se sua duração for maior do que seu time de execução.

A duração informada não inclui o time usado para a implantação de geração e o esquema de dados porque eles ocorrerem antes que os testes são executados.Para exibir a duração do teste, selecionar um tempo de execução no de testeResultados de teste janela, clicar com o botão direito do mouse e escolher Modo de exibição Test Results Details.

Você pode adicionar condições de teste para testes de unidade de banco de dados usando o painel de condições de teste do Database teste de unidade Designer.Para obter mais informações, consulte Como: Adicionar condições de teste para testes de unidade de banco de dados.

Você também pode edição seu código de método de teste diretamente para adicionar mais funcionalidade.Para obter mais informações, consulte Personalizando o banco de dados testes de unidade no Visual Basic ou Visual translation from VPE for Csharp.Por exemplo, você pode adicionar funcionalidade a um método de teste, adicionando instruções Assert.Para obter mais informações, consulte Usando T-SQL asserções em testes de unidade de banco de dados.

Condições de teste extensível

Juntamente com seis condições de teste predefinidos, você pode gravar novas condições de teste de sua preferência.Essas condições serão exibidas no painel de condições de teste do criador de teste de unidade de banco de dados de teste.Para mais informações, consulte: Como: Adicionar uma condição de teste ao Editor de teste de unidade banco de dados.

Consulte também

Conceitos

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

Scripts em testes de unidade de banco de dados

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