DEV Community

loading...
Cover image for Unit Test em Stored Procedures (SQL Server) Parte II

Unit Test em Stored Procedures (SQL Server) Parte II

sousallan profile image Allan Rodrigues ・3 min read

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.

Discussion (0)

pic
Editor guide