Partilhar via


Testes em .NET

Este artigo introduz o conceito de teste e ilustra como diferentes tipos de testes podem ser usados para validar o código. Existem várias ferramentas disponíveis para testar .NET aplicações, como o .NET CLI ou Integrated Development Environments (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 unitários

Um teste de unidade é um teste que exercita componentes ou métodos de software individuais, também conhecidos como uma "unidade de trabalho". Os testes de unidade só devem testar o código dentro do controlo do desenvolvedor. Eles não testam questões de infraestrutura. As preocupações com a infraestrutura incluem a interação 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 porque exerce a capacidade de dois ou mais componentes de software funcionarem juntos, também conhecida 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. Muitas vezes, os testes de integração incluem preocupações com a infraestrutura.

Ensaios de carga

Um teste de carga tem como objetivo 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 responsivamente. Para mais informações sobre testes de carga em aplicações web, consulte ASP.NET Core testes de carga/stress.

Considerações sobre o teste

Tenha em mente que existem práticas recomendadas para testes de redação. Por exemplo, Desenvolvimento Controlado por Teste (TDD) significa que se escreve um teste de unidade antes do código que se propõe verificar. TDD é como criar um esboço para um livro antes de escrevê-lo. O teste de unidade ajuda os desenvolvedores a escrever código mais simples, legível e eficiente.

Ferramentas de teste

Ao executar testes em .NET, estão envolvidos dois componentes: a plataforma de testes e o framework de teste.

Plataformas de teste

A plataforma de testes é o motor que executa testes e comunica com ferramentas como IDEs e CLI.

Use a visão geral da plataforma de Teste para compreender as diferenças entre o VSTest e o Microsoft.Testing.Platform, e escolha a melhor plataforma para o seu cenário.

Para orientações sobre migração, consulte Migrar de VSTest para Microsoft.Testing.Platform.

Frameworks de teste

A estrutura de teste é construída sobre a plataforma de teste. Ele define o conjunto de atributos e APIs que estão disponíveis para você, como um autor de teste. 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. Os frameworks de teste mais populares são MSTest, NUnit, TUnit e xUnit.net.

MSTest

MSTest é o framework de teste da Microsoft para todas as linguagens .NET. É extensível e funciona com .NET CLI, Visual Studio, Visual Studio Code e Rider. Ele suporta VSTest e Microsoft.Testing.Platform.

Para obter mais informações, consulte os seguintes recursos:

NUnit

NUnit é um framework de testes unitários para todas as .NET linguagens. Inicialmente, o NUnit foi portado do JUnit, e a versão de produção atual foi reescrita com muitas novas funcionalidades e suporte para uma vasta gama de plataformas .NET. É uma project da Fundação .NET. Ele suporta VSTest e Microsoft.Testing.Platform.

Para obter mais informações, consulte os seguintes recursos:

TUnit

TUnit é inteiramente construído sobre o Microsoft.Testing.Platform e não suporta VSTest. Para obter mais informações, consulte a documentação do TUnit.

xUnit.net

xUnit.net é uma ferramenta gratuita de testes unitários de código aberto e focada na comunidade para .NET. O inventor original do NUnit v2 escreveu o xUnit.net. O xUnit.net é a tecnologia mais recente para testes unitários de aplicações .NET. Também funciona com ReSharper, CodeRush e TestDriven.NET. xUnit.net é um projeto da .NET Foundation e opera sob o seu código de conduta. Ele suporta VSTest e Microsoft.Testing.Platform

Para obter mais informações, consulte os seguintes recursos:

Testes em execução

.NET CLI

Podes executar testes unitários de todos os projetos de teste numa solução usando o comando .NET CLI com o comando dotnet test. A CLI .NET expõe a maior parte da funcionalidade que Ambientes Integrados de Desenvolvimento (IDEs) disponibilizam através das interfaces de utilizador. A CLI .NET é multiplataforma e está disponível para utilização como parte de pipelines de integração contínua e distribuição. A CLI .NET é usada com processos scriptados para automatizar tarefas comuns.

IDE

Quer esteja a usar Visual Studio, Visual Studio Code ou Rider, existem interfaces gráficas para testar funcionalidades. Há mais recursos disponíveis para IDEs do que a CLI, por exemplo, Live Unit Testing. Para mais informações, consulte Incluindo e excluindo testes com Visual Studio.

Ver também

Para obter mais informações, consulte os seguintes artigos: