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.
Os testes de unidade oferecem aos desenvolvedores e testadores uma maneira rápida de procurar erros lógicos nos métodos de classes em projetos C#, Visual Basic e C++.
As ferramentas de teste de unidade incluem:
Gerenciador de Testes – execute testes de unidade e veja seus resultados no Gerenciador de Testes. Você pode usar qualquer estrutura de teste de unidade, incluindo uma estrutura de terceiros, que tenha um adaptador para o Gerenciador de Testes.
Estrutura de teste de unidade da Microsoft para código gerenciado — a estrutura de teste de unidade da Microsoft para código gerenciado é instalada com o Visual Studio e fornece uma estrutura para testar o código .NET.
Microsoft Native Unit Test Framework: o Microsoft Native Unit Test Framework para C++ é instalado como parte da carga de trabalho Desenvolvimento de desktop com C++. Ele fornece uma estrutura para testar o código nativo. As estruturas Google Test, Boost.Test e CTest também estão incluídas e adaptadores de terceiros estão disponíveis para estruturas de teste adicionais. Para obter mais informações, consulte Gravar testes de unidade para C/C++.
Ferramentas de cobertura de código: você pode determinar a quantidade de código do produto que seus testes de unidade utilizam com um comando no Gerenciador de Testes.
Estrutura de isolamento do Microsoft Fakes — a estrutura de isolamento do Microsoft Fakes pode criar classes e métodos substitutos para produção e código .NET do sistema que criam dependências no código em teste. Implementando os delegados falsos para uma função, você controla o comportamento e a saída do objeto de dependência.
Para .NET, você também pode usar o IntelliTest para explorar seu código e gerar dados de teste e um conjunto de testes de unidade. Para cada instrução no código, uma entrada de teste é gerada que executará essa instrução. Uma análise de caso é executada para cada branch condicional no código.
Tarefas-chave
Use os seguintes artigos para ajudar a entender e criar testes de unidade:
Tarefas | Tópicos associados |
---|---|
Tutoriais: Saiba mais sobre o teste de unidade no Visual Studio com base em exemplos de código. | - Introdução ao teste de unidade - Desenvolvimento controlado por teste com o Gerenciador de Testes |
Teste de unidade com o Gerenciador de Testes: Saiba como o Gerenciador de Testes pode ajudar a criar testes de unidade mais produtivos e eficientes. | - Noções básicas de teste de unidade - Executar testes de unidade com o Gerenciador de Testes - Instalar estruturas de teste de unidade de terceiros |
Teste de unidade de código .NET | - Criar e executar testes de unidade para o código .NET |
Código C++ de teste de unidade | - Gravar testes de unidade para C/C++ - Como adicionar testes de unidade a aplicativos C++ |
Use a cobertura de código para identificar qual proporção do código do projeto é testada: Saiba mais sobre o recurso de cobertura de código das ferramentas de teste do Visual Studio. | - Usar a cobertura de código para determinar quanto do código está sendo testado |
Isolamento de testes de unidade | - Isolar o código .NET em teste com o Microsoft Fakes |
Definir portões de qualidade: Saiba como criar portões de qualidade para impor que os testes sejam executados antes que o código seja verificado ou mesclado. | - Políticas de check-in (Azure Repos TFVC) |
Definir opções de teste: Saiba como configurar opções de teste, por exemplo, em que os resultados do teste são armazenados. | Configurar testes de unidade usando um arquivo .runsettings |
Documentação da referência de API
- Microsoft.VisualStudio.TestTools.UnitTesting descreve o namespace UnitTesting, que fornece atributos, exceções, declarações e outras classes que dão suporte ao teste de unidade.
- Microsoft.VisualStudio.TestTools.UnitTesting.Web descreve o namespace UnitTesting.Web, que estende o namespace UnitTesting fornecendo suporte para testes de unidade de serviço Web e ASP.NET.