Este artigo apresenta o conceito de teste e demonstra como diferentes tipos de testes podem ser usados para validar o código. Há várias ferramentas disponíveis para testar aplicativos .NET, como a CLI do .NET ou IDEs (Ambientes de Desenvolvimento Integrado).
Tipos de teste
Testes automatizados são uma ótima maneira de garantir que o código de um aplicativo faça o que seus autores pretendem. Este artigo aborda testes de unidade, testes de integração e testes de carga.
Testes de unidade
Um teste de unidade é um teste que exercita componentes ou métodos de software individuais, também conhecidos como "unidade de trabalho". Testes de unidade devem testar apenas o código dentro do controle do desenvolvedor. Eles não testam questões de infraestrutura. Questões de infraestrutura incluem bancos de dados, sistemas de arquivos e recursos de rede.
Para obter mais informações sobre como criar testes de unidade, consulte Ferramentas de teste.
Testes de integração
Um teste de integração difere de um teste de unidade porque exercita a capacidade de dois ou mais componentes de software de funcionarem juntos, também conhecidos como sua "integração". Esses testes operam em um espectro mais amplo do sistema em teste, enquanto os testes de unidade se concentram em componentes individuais. Geralmente, os testes de integração incluem preocupações com a infraestrutura.
Testes de carga
Um teste de carga tem como objetivo determinar se um sistema pode ou não lidar com uma carga especificada, considerando, por exemplo, o número de usuários simultâneos usando um aplicativo e a capacidade do aplicativo de lidar com interações de forma responsiva. Para obter mais informações sobre o teste de carga de aplicativos Web, consulte Teste de carga/estresse para ASP.NET.
Considerações sobre testes
Tenha em mente que há práticas recomendadas para escrever testes. Por exemplo, falamos em TDD (Desenvolvimento Orientado por Testes) quando um teste de unidade é escrito antes do código que ele é destinado a verificar. Fazer um TDD é como criar a estrutura dos capítulos de um livro antes de escrevê-lo. Ele destina-se a ajudar os desenvolvedores a escrever código mais legível, simples e eficiente.
Ferramentas de teste
O .NET é uma plataforma de desenvolvimento de várias linguagens. Você pode escrever vários tipos de teste para C#, F#e Visual Basic. Para cada uma dessas linguagens, você pode escolher entre várias estruturas de teste.
xUnit
O xUnit é uma ferramenta de teste de unidade gratuita, de código aberto e focada na comunidade para .NET. Escrito pelo inventor original do NUnit v2, xUnit.net é a tecnologia mais recente para testes de unidade em aplicativos .NET. O xUnit.net funciona com ReSharper, CodeRush, TestDriven.NET e Xamarin. É um projeto da .NET Foundation e opera sob seu código de conduta.
O NUnit é uma estrutura de teste de unidade para todos as linguagens do .NET. Inicialmente portado do JUnit, teve a versão de produção atual reescrita com muitos novos recursos e suporte a uma ampla gama de plataformas .NET. É um projeto da .NET Foundation.
O MSTest é a estrutura de teste da Microsoft para todas as linguagens .NET. Ele é extensível e funciona com a CLI do .NET e com o Visual Studio. Para saber mais, consulte os recursos a seguir:
Você pode executar testes de unidade de soluções na CLI do .NET com o comando de teste dotnet. A CLI do .NET expõe a maioria das funcionalidades que os IDEs (Ambientes de Desenvolvimento Integrado) disponibilizam por meio de interfaces do usuário. A CLI do .NET é multiplataforma e está disponível para uso como parte de pipelines de integração e entrega contínuas. A CLI do .NET é usada com processos com script para automatizar tarefas comuns.
IDE
Se você estiver usando o Visual Studio, Visual Studio para Mac ou Visual Studio Code, há interfaces gráficas do usuário para a funcionalidade de testes. Há mais recursos disponíveis para IDEs do que CLI, por exemplo, Live Unit Testing. Para obter mais informações, consulte Incluir e excluir testes com o Visual Studio.
Consulte também
Para obter mais informações, consulte os seguintes artigos:
Comece a testar seus aplicativos C# usando as ferramentas de teste no Visual Studio. Aprenda a escrever testes, use o Gerenciador de Testes, crie conjuntos de testes e aplique o padrão vermelho, verde, refatorar para escrever código.