DEV Community

Cover image for Unit Test em Stored Procedures (SQL Server) Parte II
Allan Rodrigues
Allan Rodrigues

Posted on

Unit Test em Stored Procedures (SQL Server) Parte II

E ai pessoal, como estamos?
Dando continuidade a nossa sequencia de posts sobre Testes Unitários em Stored Procedures, dessa vez vamos ver como avaliar se o valor retornado da nossa sp está de acordo com o valor esperado.

Vamos continuar usando nesse post:

  1. Visual Studio Data Tools 2017
  2. SQL Server 2016

Ainda utilizaremos a sp criada no post anterior, então se você perdeu a Parte 1 pode dar uma conferida aqui nesse LINK, beleza?

Bom, essa parte é bem mais curta que a primeira visto que já fizemos todas as configurações básicas como:

  • Criar a sp;
  • Importar a sp para o nosso projeto;
  • Configurar a conexão com a base de dados;
  • Realizar o primeiro teste unitário

Então vamos lá..
Para atingir o nosso objetivo que é verificar se o valor retornado da sp está correto, vamos criar uma nova unidade de teste. Então podemos clicar com o botão direito em cima da nossa sp e em "Create Unit Tests..."

Alt Text

Será exibida a tela acima, podemos configurar da seguinte forma:
Em project: Vamos deixar o nome do projeto que já havíamos criado.
Create New Class: vamos criar uma classe nova com o nome de UnitTestOperacao.cs (esse nome fica por sua conta).
E em seguida podemos finalizar com o OK.

Podemos observar agora em nosso Explorador de Soluções (Solutions Explorer) que uma nova unidade de teste foi criada:
Alt Text

Vamos ajustar agora o script de test que é gerado.
Certifique-se que está alterando o script correto, observando o nome do arquivo que está aberto.
Feito isso, faça as alterações devidas no script para que fique da forma como está abaixo:
Alt Text

De acordo com os inputs alterados queremos que seja realizado uma SOMA entre 2 + 2 e que o resultado seja 4.

Agora vamos alterar nossas condições de teste.
Na parte inferior remova o teste inconclusivo. E adicione a condição SCALAR VALUE, após adicionar essa condição aperte F4 para acessar as propriedades e em EXPECTED VALUE vamos colocar o valor 4. Com isso, o nosso teste espera que a SOMA entre 2+2 seja 4.

Adicionando a condição SCALAR VALUE
Alt Text

Ajustando a propriedade EXPECTED VALUE
Alt Text

Ao concluir as alterações, salve a solução e observe na janela "Gerenciador de Testes" que a nossa nova unidade está disponível.
Alt Text

Finalmente podemos colocar o nosso teste pra rodar.

Clique com o botão direito em cima da unidade criada e em "Executar Testes Selecionados"

Alt Text

Voilà! Nosso teste executado com sucesso... afinal de contas 2+2 ainda é 4.

Agora vamos mudar o valor de qualquer input para que o valor da soma seja diferente de 4.

Alt Text

Alterando o script como acima o resultado da soma será 3, o que é diferente de 4. Então nosso teste deverá apresentar erro.

Alt Text

E como esperado o teste retornou um erro, alertando que os valores são diferentes, o resultado 3 não coincide com o valor 4 esperado.

E assim concluímos a segunda parte do nosso post de Unit Test em Stored Procedures.
Sugiro, que vocês brinquem com os valores e operações para visualizar o comportamento do teste.

Até a próxima, onde falaremos sobre testes negativos e encerraremos essa sequência de posts.

Top comments (0)