Compartilhar via


Testes no .NET

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:

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:

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: