Documentação Teste Unitário
Esse projeto é uma série de documentações de ferramentas de teste unitário em diversas linguagens.
Projeto já adicionado aos favoritos. Clique aqui para ver todos seus favoritos
Obrigado pela sua avaliação, deixe o seu feedback nos comentários :D
Introdução
O NUnit é um dos frameworks para realização de testes unitários em .NET mais utilizados no mercado. Ele conta com diversas classes e métodos que facilitam a escrita e execução dos testes. Nas seções a seguir você verá como instalá-lo em um projeto e como executar os testes a partir do Test Explorer no Visual Studio.
Visão geral
Teste unitário é uma técnica que consiste de colocar à prova as diversas funcionalidades de um sistema, testando-as em suas menores unidades. Ou seja, de forma geral os testes unitários se concentram em validar o funcionamento das diversas funções de uma aplicação. A motivação dessa técnica é não apenas garantir que os métodos funcionem como esperado, mas também que eles continuem funcionando ao longo de todo o ciclo de vida do projeto, mesmo após modificações. Dessa forma, os testes são executados diversas vezes durante o desenvolvimento e por isso é fundamental termos à nossa disposição ferramentas que nos auxiliem nessa tarefa.
Instalação
Para demonstrar a utilização do NUnit tomaremos como exemplo um projeto do tipo Class Library, que contém classes auxiliares contendo funções que precisam ser testadas. No momento, temos apenas a classe ValidadorCPF com o método Validar. Na Figura 1 podemos ver a estrutura da Solution no Visual Studio:
Figura 1. Solution com um projeto Class Library contendo uma classe que precisa ser testada
Por se tratar de um projeto Class Library, ele não pode ser executado diretamente. Logo, para testar a classe ValidadorCPF seria necessário criar um outro projeto executável, como uma Console Application. No entanto, existe no Visual Studio um tipo de projeto específico para a realização de testes. Para adicioná-lo à solution, devemos clicar com a direita sobre ela e em Add > New project. Em seguida, devemos selecionar a categoria Tests e o template Unit Test Project, como mostra a Figura 2.
Figura 2. Criando um novo projeto de testes unitários
Convencionou-se criar um projeto de testes para cada projeto a ser testado na solution. Neste caso, como temos uma Class Library chamada Sistema.Helpers, criamos um Unit Test Project chamado Sistema.Helpers.Tests. A solution então ficará como mostra a Figura 3.
Figura 3. Solution contendo um novo projeto de testes
Com o projeto criado, o próximo passo é abrir o gerenciador de pacotes do Nuget, clicando com a direita sobre o projeto Sistema.Helpers.Tests e em Manage Nuget Packages.
Na aba Installed devemos desinstalar os pacotes MSTest.TestAdapter e MSTest.TestFramework. Eles representam o framework de testes padrão da Microsoft, o MSTest, que vem instalado nesse tipo de projeto, mas que aqui será substituído pelo NUnit.
Em seguida, na aba Browse devemos buscar por NUnit e instalar os pacotes NUnit e NUnit3TestAdapter. O primeiro representa o próprio framework de testes e o segundo é uma ferramenta adicional para que seja possível executar os testes a partir da janela Test Explorer do Visual Studio (que por padrão funciona com o MSTest).
Configuração
Com o framework instalado, podemos então abrir o arquivo UnitTest1.cs, que é criado por padrão e neste momento estará com alguns erros, devido à remoção do MSTest. Neste arquivo, faremos as seguintes modificações:
- Remover a referência ao namespace Microsoft.VisualStudio.TestTools.UnitTesting;
- Adicionar a referência ao namespace NUnit.Framework;
- Remover a anotação [TestClass] da classe UnitTest1 e adicionar a anotação [TestFixture];
- Remover a anotação [TestMethod] do método TestMethod1 e adicionar a anotação [Test].