Executando os testes

Pois então, agora que criamos o projeto, vamos executar os testes,na figura abaixo temos a tela da classe de teste, destacado em vermelho na parte superior a barra com as ferramentas de teste, nessa parte são exibidas as ferramentas que permitem executar ou debugar os testes, podendo fazer apenas para os testes selecionados, para todos os testes existentes no projeto ou todos os testes que forem impactados pelas alterações. Na parte inferior destacado em azul temos as barras de visualização dos resultados de testes.

O ideal em um teste é começar fazendo o teste falhar, para definir o que ele não deve fazer. Veja na imagem abaixo que o teste do metódo dividir falhou, conforme é apresentado na aba de resultados do teste. Ao dividir 10 por 2, foi definidido que o resultado esperado era 6, enquanto que acertadamente o programa deu o resultado de 5. Com isso foi possivel avaliar a veracidade do teste.

Usando a ferramenta de debugar o teste, o programa mostrou detalhadamente o que estava sendo feito no teste e causou uma exceção no erro que foi visto no teste anterior.

Ao tentar alterar durante o debug é apresentada uma tela perguntando o que deseja ser feito. Na opção ‘edit’ é possivel editar o teste para que seja acertado e continue sendo executado, na opção ‘stop’ o debug é inerrompido e a tela volta pro modo de design, e a função ‘cancel’ sai sem realizar mudanças.

Após verificar que o erro existe e acertado, é executado novamente os testes, agora com a aba exibindo que os mesmos passaram retornando que os resultados esperados e os resultados encontrados foram os mesmos.

Na próxima veremos a criação e execução dos testes de carga…

Iniciando os testes unitários no Visual Studio 2010

Este é um pequeno tutorial de como criar testes unitários utilizando as ferramentas do Visual Studio 2010,

Para começar devemos criar o projeto novo no Visual Studio. Conforme a imagem abaixo, foi criado um projeto do tipo ‘ASP.NET MVC 2 Web Application’,  mas pode ser criado qualquer outro tipo de projeto.

Tela de criação de novo projeto

Conforme ilustrado abaixo, após a criação do projeto é apresentada a tela para confirmar se desejar criar a classe de testes unitários do projeto, a tela vem com o default igual a ‘Sim’, caso seja confirmado será gravado um projeto de testes:

A tela do projeto ficará então da seguinte maneira, como pode ser observado na pequena tela do lado direito é apresentado os objetosdo projeto, sendo que estão selecionados em vermelho fazem parte do projeto, enquanto que os que estão selecionados em azul fazem parte do projeto de teste.

O projeto que foi criado trata-se de uma calculadora, com os metódos representando as quatro funções básicas da matemática(adição, subtração, multiplicação e divisão) . Na classe HomeController.cs foi inserido o seguinte código:

public static class Operacoes
{

public static long Somar(long numero1, long numero2)
{
return numero1 + numero2;
}

public static long Subtrair(long minuendo, long subtraendo)
{
return minuendo – subtraendo;
}

public static long Multiplicar(long multiplicando, long multiplicador)
{
return multiplicando * multiplicador;
}

public static double Dividir(double dividendo, double divisor)
{
try
{
return dividendo / divisor;
}
catch (System.DivideByZeroException)
{
throw new System.DivideByZeroException(“Não pode ser dividido por zero!”);
}
}                                                                                                                                                                                                                                                                             }

Para criar os testes unitários basta clicar com o botão direito do mouse em cima do nome da classe e selecionar a opção ‘Create Unit Tests’, conforme o exemplo abaixo:

Após isso é aberta a tela para criação dos testes unitários permitindo selecionar para quais metódos eles serão criados, no caso foram criados testes para todos os metódos da classe.

Os testes serão criados baseados na lógica do código, utilizando as variáveis definidas no mesmo como parâmetros de entrada no teste avaliando as saídas geradas. Mas ainda não acabou, é necessário ir na classe de testes criadas e alterar alguns parâmetros a começar pela última linha do metódo de teste, aquela mesma que está destacada em vermelho na figura abaixo.

Essa linha descrita ‘Assert.Inconclusive(“Verify the the correctness of this test method”)’, possui a finalidade de impedir o teste de gerar qualquer resultado, forçando que dessa forma o código de teste seja revisado. Então após a criação do teste unitário automáico devemos revisar o teste, removendo a linha informada anteriormente e incluindo novos valores nas variáveis que devem ser testadas e no valor ‘expected’, que se trata do valor esperado pelas operações.

 

Agora que já criamos nosso projeto de teste no próximo post iremos ver a execução dos testes.