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 são partes de código que testam outras unidades de código em um aplicativo, normalmente funções isoladas, classes e assim por diante. Quando um aplicativo passa em todos os testes de unidade, você pode ter certeza de que pelo menos a funcionalidade do programa de baixo nível está correta.
O Python usa testes de unidade extensivamente para validar cenários durante a criação de um programa. O suporte ao Python no Visual Studio inclui a descoberta, a execução e a depuração de testes de unidade no contexto do processo de desenvolvimento, sem a necessidade de executar testes separadamente.
Este artigo fornece um resumo breve das capacidades de testes de unidade no Visual Studio com Python. Para obter mais informações sobre testes de unidade em geral, consulte Unit testar seu código.
Pré-requisitos
Visual Studio no Windows instalado com suporte para cargas de trabalho do Python. Para obter mais informações, consulte Instalar o suporte do Python no Visual Studio.
Um projeto do Python com código ou uma pasta com código Python.
Não há suporte para o Visual Studio para Mac. O Visual Studio Code no Windows, Mac e Linux funciona bem com o Python por meio de extensões disponíveis.
Selecionar a estrutura de teste para um projeto do Python
O Visual Studio dá suporte a duas estruturas de teste para Python, unittest e pytest (disponível no Visual Studio 2019 versão 16.3 e posterior). Por padrão, nenhuma estrutura é selecionada quando você cria um projeto do Python.
Siga estas etapas para selecionar a estrutura de teste para seu projeto python:
No Gerenciador de Soluções, clique com o botão direito do mouse no nome do projeto e selecione Propriedades.
No painel Propriedades do projeto, selecione a guia Teste e escolha o tipo de estrutura de teste :
Para a estrutura unittest , o Visual Studio atribui o diretório Raiz do projeto para descoberta de teste. O valor padrão é
., mas você pode especificar um local diferente ao definir as configurações do projeto. Você também pode especificar uma ou mais cadeias de caracteres para o padrão de nome de arquivo de teste, comotest*.py, test_*.py.Para a estrutura pytest , as opções de teste, como o local de teste e os padrões de nome de arquivo, são especificadas usando o arquivo de configuração de .ini pytest padrão. Por padrão, a pasta de workspace/projeto é usada como local. O padrão de nome de arquivo padrão inclui
test_*pye*_test.py. Para obter mais informações, consulte a documentação de referência do pytest.
Observação
Quando você definir o padrão de nome de arquivo, tenha em mente que caracteres especiais como o sublinhado (
_) não são correspondidos pelo curinga (*). Se você quiser usar caracteres especiais no nome do arquivo, especifique esses caracteres na definição de padrão, comotest_*.py.Para salvar a seleção e as configurações da estrutura, você pode usar o atalho de teclado Ctrl+S .
Depois de configurar a estrutura, o Visual Studio inicia a descoberta de teste e abre o Gerenciador de Testes.
Configurar o teste para Python sem um projeto
O Visual Studio permite que você execute e teste o código Python existente sem um projeto, abrindo uma pasta com código Python. Nesse cenário, você precisa usar um arquivo PythonSettings.json para configurar o teste.
Abra seu código Python existente usando a opção Abrir uma Pasta Local :
Quando você abre uma pasta do Python, o Visual Studio cria várias pastas ocultas para gerenciar as configurações relacionadas ao programa. Para ver essas pastas (e quaisquer outros arquivos e pastas ocultos, como a pasta .git ) no Gerenciador de Soluções, selecione a opção Mostrar Todos os Arquivos :
No Gerenciador de Soluções, expanda a pasta Configurações Locais e clique duas vezes no arquivo PythonSettings.json para abrir o arquivo no editor.
Observação
A maioria das configurações mostra dois arquivos de configurações: PythonSettings.json e ProjectSettings.json. Para este exercício, você precisa modificar o arquivo PythonSettings.json .
Se você não vir o arquivo PythonSettings.json na pasta Configurações Locais , poderá criá-lo manualmente:
Clique com o botão direito do mouse na pasta Configurações Locais e selecione Adicionar>Novo Arquivo.
Nomeie o arquivo PythonSettings.jsone selecione Enter para salvar suas alterações.
O Visual Studio abre automaticamente o novo arquivo no editor.
No arquivo PythonSettings.json , adicione o código a seguir para definir o
TestFramework. Defina o valor da estrutura como pytest ou unittest dependendo da estrutura de teste desejada:{ "TestFramework": "unittest", "UnitTestRootDirectory": "testing", "UnitTestPattern": "test_*.py" }Para o framework unittest, se você não definir valores específicos para as configurações
UnitTestRootDirectoryeUnitTestPatternno arquivo PythonSettings.json, o Visual Studio adicionará automaticamente esses campos com os valores padrão de.etest*.py, respectivamente.Para a estrutura pytest , as opções de configuração são sempre especificadas no arquivo de configuração do pytest.ini em vez de por meio das configurações do Visual Studio.
Se o programa Python contiver uma pasta src separada da pasta que contém seus testes, especifique o caminho para a pasta src com a
SearchPathsconfiguração no arquivo PythonSettings.json :"SearchPaths": [".\\src"]Salve suas alterações no arquivo PythonSettings.json .
Depois de configurar o framework, o Visual Studio iniciará a descoberta de testes para o framework especificado. Você pode acessar o teste no Gerenciador de Testes.
Adicionar e descobrir testes
Por padrão, o Visual Studio identifica testes unittest e pytest como métodos cujos nomes começam com test.
Para verificar como o Visual Studio inicia a descoberta de teste, siga estas etapas:
Abra um projeto do Python no Visual Studio.
Defina as propriedades da estrutura de teste para o projeto, conforme descrito na estrutura de teste Select para o projeto Python.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Adicionar>Novo Item.
Na caixa de diálogo Adicionar Novo Item , selecione o tipo de arquivo teste de unidade do Python .
Insira um nome de arquivo que satisfaça a definição padrão especificada para as Propriedades do projeto.
Selecione Adicionar.
O Visual Studio cria o arquivo de teste com o código padrão:
import unittest class Test_test1(unittest.TestCase): def test_A(self): self.fail("Not implemented") if __name__ == '__main__': unittest.main()Esse código importa o módulo padrão
unitteste deriva uma classe de teste dounittest.TestCasemétodo. Quando você executa o script diretamente, esse código também invoca aunittest.main()função.
Quando você adiciona novos arquivos de teste, o Visual Studio os disponibiliza no Gerenciador de Testes.
Exibir testes com o Gerenciador de Testes
Depois de configurar a estrutura de teste e os arquivos de teste, o Visual Studio pesquisa testes e os exibe no Gerenciador de Testes.
Aqui estão algumas das maneiras que você pode trabalhar com o Gerenciador de Testes:
Abra a janela do Gerenciador de Testes selecionando oGerenciador de >.
Quando a janela do Gerenciador de Testes estiver aberta, use o atalho de teclado CTRL+R, A para disparar a descoberta de teste.
Clique duas vezes em um teste no Gerenciador de Testes para abrir o arquivo de origem correspondente no editor:
Organize a exibição de seus testes usando a opção Agrupar por na barra de ferramentas:
Filtre testes por nome inserindo texto no campo Pesquisar :
Execute testes e exiba o status da execução de teste, conforme descrito na próxima seção.
Para obter mais informações sobre o unittest módulo e a gravação de testes, consulte a documentação do Python.
Executar testes com o Gerenciador de Testes
No Gerenciador de Testes, você pode executar testes de várias maneiras:
- Selecione Executar Tudo (testes em exibição) para executar todos os testes mostrados no modo de exibição atual com base nas configurações de filtro.
- Use comandos no menu Executar para executar testes com falha, aprovados ou não executados como um grupo.
- Selecione um ou mais testes e clique com o botão direito do mouse e selecione a opção Executar Testes Selecionados .
O Visual Studio executa seus testes em segundo plano. O Gerenciador de Testes atualiza o status de cada teste conforme ele é concluído:
A aprovação de testes mostra um tique verde e o tempo para concluir a execução do teste:
Testes com falha mostram um X vermelho com um link de saída que exibe a saída do console e
unittesta saída da execução de teste:
Verificar testes com o Depurador
Os testes de unidade são partes de código que estão sujeitas a bugs como qualquer outro código e, ocasionalmente, precisam ser executados em um depurador. No Depurador do Visual Studio, você pode definir pontos de interrupção, examinar variáveis e percorrer o código. O Visual Studio também fornece ferramentas de diagnóstico para testes de unidade.
Examine estes pontos sobre como verificar seus testes com o Depurador do Visual Studio:
Por padrão, a depuração de teste usa o depurador debugpy para o Visual Studio 2019 a partir da versão 16.5. Algumas versões anteriores do Visual Studio usam o depurador ptvsd 4 . Se você estiver usando uma versão anterior do Visual Studio e preferir o depurador ptvsd 3, selecione a opção Usar Depurador Herdado em Ferramentas>Opções>Python>Depuração.
Para iniciar a depuração, defina um ponto de interrupção inicial em seu código e clique com o botão direito do mouse no teste (ou uma seleção) no Gerenciador de Testes e selecione Depurar Testes Selecionados. O Visual Studio inicia o depurador do Python como faria com o código do aplicativo.
Se preferir, você pode usar a Analisar Cobertura de Código para Testes Selecionados. Para obter mais informações, confira Usar a cobertura de código para determinar quanto do código está sendo testado.