Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo apresenta o conceito de teste e ilustra como diferentes tipos de testes podem ser usados para validar o código. Várias ferramentas estão disponíveis para testar aplicativos .NET, como a CLI .NET ou Ambientes de Desenvolvimento Integrado (IDEs).
Tipos de teste
Os testes automatizados são uma ótima maneira de garantir que o código do 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 exerce componentes ou métodos de software individuais, também conhecidos como uma "unidade de trabalho". Os testes de unidade devem testar apenas o código dentro do controle do desenvolvedor. Eles não testam questões de infraestrutura. As preocupações com a infraestrutura incluem interagir com 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, pois exerce 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 de infraestrutura.
Testes de carga
Um teste de carga visa determinar se um sistema pode ou não lidar com uma carga especificada. 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 ASP.NET Core teste de carga/estresse.
Considerações de teste
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. TDD é como criar uma estrutura de tópicos para um livro antes de escrevê-lo. O teste de unidade ajuda os desenvolvedores a escrever um código mais simples, legível e eficiente.
Ferramentas de teste
Ao executar testes em .NET, há dois componentes envolvidos: a plataforma de teste e a estrutura de teste.
Testar plataformas
A plataforma de teste é o mecanismo que executa testes e se comunica com ferramentas como IDEs e CLI.
Use a visão geral das plataformas de teste para entender as diferenças entre o VSTest e o Microsoft.Testing.Platform e escolha a melhor plataforma para seu cenário.
Para obter diretrizes de migração, consulte Migrar do VSTest para Microsoft.Testing.Platform.
Estruturas de teste
A estrutura de teste é criada com base na plataforma de teste. Ele define o conjunto de atributos e APIs que estão disponíveis para você, como um autor de teste. Ele geralmente é alimentado por um adaptador de teste, que atua como uma camada de comunicação entre a estrutura de teste e a plataforma de teste. As estruturas de teste populares são MSTest, NUnit, TUnit e xUnit.net.
MSTest
MSTest é a estrutura de teste da Microsoft para todos os idiomas .NET. Ele é extensível e funciona com .NET CLI, Visual Studio, Visual Studio Code e Rider. Ele dá suporte ao VSTest e ao Microsoft.Testing.Platform.
Para obter mais informações, consulte os seguintes recursos:
NUnit
NUnit é uma estrutura de teste de unidade para todos os idiomas .NET. Inicialmente, o NUnit foi portado do JUnit e a versão de produção atual foi reescrita com muitos novos recursos e suporte para uma ampla gama de plataformas de .NET. É uma project do .NET Foundation. Ele dá suporte ao VSTest e ao Microsoft.Testing.Platform.
Para obter mais informações, consulte os seguintes recursos:
- Suporte para o Microsoft.Testing.Platform no NUnit (executor NUnit)
- Testes de unidades com C#
- Testes de unidades com F#
- Testes unitários com Visual Basic
TUnit
TUnit é inteiramente baseado em Microsoft.Testing.Platform e não dá suporte ao VSTest. Para obter mais informações, consulte a documentação do TUnit.
xUnit.net
xUnit.net é uma ferramenta de teste de unidade gratuita, de software livre e focada na comunidade para .NET. O inventor original do NUnit v2 escreveu xUnit.net. xUnit.net é a tecnologia mais recente para testes de unidade .NET aplicativos. Ele também funciona com ReSharper, CodeRush e TestDriven.NET. xUnit.net é um project da .NET Foundation e opera sob seu código de conduta. Ele dá suporte ao VSTest e ao Microsoft.Testing.Platform
Para obter mais informações, consulte os seguintes recursos:
- suporte Microsoft.Testing.Platform no xUnit.net v3
- Testes de unidades com C#
- Testes de unidades com F#
- Testes unitários no Visual Basic
Executando testes
CLI do .NET
Você pode executar testes de unidade de todos os projetos de teste em uma solução usando a CLI .NET com o comando dotnet test. A CLI do .NET expõe a maior parte da funcionalidade que IDEs (Ambientes de Desenvolvimento Integrado) disponibilizam por meio de interfaces do usuário. A CLI do .NET é multiplataforma e está disponível para uso nos 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 Visual Studio, Visual Studio Code ou Rider, há interfaces gráficas do usuário para testar a funcionalidade. Há mais recursos disponíveis para IDEs do que a CLI, por exemplo, live unit testing. Para obter mais informações, consulte Incluindo e excluindo testes com Visual Studio.
Consulte também
Para obter mais informações, consulte os seguintes artigos: