Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
- Suporte de Microsoft.Testing.Platform no NUnit (NUnit runner)
- Testes unitários com C#
- Testes unitários com F#
- Testes unitários com Visual Basic
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:
- Suporte do Microsoft.Testing.Platform no xUnit.net v3
- Testes unitários com C#
- Testes unitários com F#
- Testes unitários com Visual Basic
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: