Executar testes de unidade usando o Gerenciador de Testes
Use o Gerenciador de Testes para executar testes de unidade do Visual Studio ou projetos de teste de unidade de terceiros. No Gerenciador de Testes, você pode agrupar testes em categorias, filtrar a lista de testes e criar, salvar e executar listas de reprodução de testes. Você também pode usar o Test Explorer para testes de unidade de depuração e, no Visual Studio Enterprise, para analisar a cobertura de código.
O Gerenciador de Testes pode executar testes de vários projetos de teste em uma solução e de classes de teste que fazem parte dos projetos de código de produção. Os projetos de teste podem usar várias estruturas de teste de unidade. Quando o código em teste é escrito para .NET, o projeto de teste pode ser escrito em qualquer linguagem que também tenha como alvo o .NET, independentemente do idioma do código de destino. Você deve testar projetos de código C e C++ nativos usando uma estrutura de teste de unidade C++.
Crie seu projeto de teste
Se você ainda não tiver um projeto de teste configurado em sua solução Visual Studio, você deve primeiro criar e criar um projeto de teste. Utilize estes recursos:
O Visual Studio inclui as estruturas de teste de unidade da Microsoft para código gerenciado e nativo. No entanto, o Test Explorer também pode executar qualquer estrutura de teste de unidade que tenha implementado um adaptador Test Explorer. Para obter mais informações sobre como instalar estruturas de teste de unidade de terceiros, consulte Instalar estruturas de teste de unidade.
Executar testes no Explorador de Testes
Quando você cria o projeto de teste, os testes aparecem no Gerenciador de Testes. Se o Test Explorer não estiver visível, selecione Test no menu Visual Studio e, em seguida, selecione Test Explorer (ou selecione Ctrl+E, T).
À medida que você executa, escreve e executa novamente os testes, o Gerenciador de Testes exibe os resultados em um agrupamento padrão de Project, Namespacee Class. Você pode alterar a maneira como o Test Explorer agrupa seus testes.
Você pode executar grande parte do trabalho de localizar, organizar e executar testes a partir da barra de ferramentas
Executar testes
Escolha uma destas opções para executar testes:
Para executar todos os testes em uma solução, selecione o ícone Executar tudo (ou selecione Ctrl+R, V).
Para executar todos os testes em um grupo padrão, selecione o ícone Executar e, em seguida, selecione o grupo no menu.
Para executar testes individuais, selecione um ou mais testes, clique com o botão direito do mouse em algum lugar no painel e selecione Executar Testes Selecionados (ou selecione Ctrl+R, T).
Se os testes individuais não tiverem dependências que impeçam que eles sejam executados em qualquer ordem, ative a execução de teste paralelo no menu de configurações da barra de ferramentas. Esta ação pode reduzir o tempo de execução de todos os testes.
Observação
Para configurar a plataforma de destino (arquitetura de processo) para executar testes de unidade, consulte Configurar arquitetura de processo para um teste de unidade.
Executar testes após cada compilação
Para executar seus testes de unidade após cada compilação local, selecione o ícone de configurações na barra de ferramentas Test Explorer e, em seguida, selecione Executar testes após a compilação.
Ver resultados do teste
À medida que executa, escreve e executa novamente os testes, o Gerenciador de Testes exibe os resultados em grupos de Testes Reprovados, Testes Aprovados, Testes Ignoradose Testes Não Executados. O painel de detalhes na parte inferior ou lateral do Test Explorer exibe um resumo da execução do teste.
Ver detalhes do teste
Para visualizar os detalhes de um teste individual, selecione o teste.
O painel para detalhes do teste exibe:
O nome do arquivo de origem e o número da linha do método de teste.
O estado do teste.
O tempo decorrido que o método de teste levou para ser executado.
Se o teste falhar, o painel de detalhes também exibirá:
A mensagem que o framework de testes unitários retorna para o teste.
O traço da pilha no momento em que o teste falhou.
Exibir o código-fonte de um método de teste
Para exibir o código-fonte de um método de teste no editor do Visual Studio, clique com o botão direito do mouse no teste e selecione Abrir teste (ou selecione a tecla F12).
Agrupar e filtrar a lista de testes
No Gerenciador de Testes, você pode agrupar seus testes em categorias predefinidas. A maioria das estruturas de teste de unidade executadas no Gerenciador de Testes permite que você defina suas próprias categorias e pares de categoria/valor para agrupar seus testes. Você também pode filtrar a lista de testes combinando cadeias de caracteres com propriedades de teste.
Agrupando testes na lista de testes
O Gerenciador de Testes permite agrupar seus testes em uma hierarquia. O agrupamento de hierarquia padrão é Project, Namespacee, em seguida, Class. Para alterar a forma como os testes são organizados, selecione o botão Agrupar por no Explorador de Testes e, em seguida, selecione um novo critério de agrupamento.
Você pode definir os seus próprios níveis da hierarquia (agrupar por Estado e depois Classe , por exemplo) ao selecionar as opções de Agrupar por na sua ordem preferida.
O Gerenciador de Testes permite agrupar seus testes em uma hierarquia. O agrupamento de hierarquia padrão é Project, Namespacee, em seguida, Class. Para alterar a forma como os testes são organizados, selecione o botão Agrupar por e, em seguida, selecione um novo critério de agrupamento.
Você pode definir os seus próprios níveis da hierarquia (agrupar por Estado e, a seguir, Classe , por exemplo) selecionando as opções de Agrupar por na sua ordem preferida.
Grupos do Test Explorer
Grupo | Descrição |
---|---|
Duração | Agrupa testes por tempo de execução: Fast, MediumSlow. |
Estado | Agrupa testes por resultados de execução: Testes Reprovados, Testes Ignorados, Testes Aprovados, Testes Não Executados. |
Estrutura de Destino | Agrupa testes pelo framework que os seus projetos visam. |
Namespace | Agrupa testes pelo namespace que contém. |
Projeto | Agrupa testes pelo projeto que os contém. |
Classe | Agrupa testes pela classe que os contém. |
Traços
Uma característica é geralmente um par de nome e valor de categoria, mas pode também ser uma única categoria. As características podem ser atribuídas a métodos que a estrutura de teste de unidade identifica como métodos de teste.
Uma estrutura de teste de unidade pode definir categorias de traços. Você pode adicionar valores às categorias de características para definir seus próprios pares de nome/valor de categoria. A estrutura de teste de unidade define a sintaxe para especificar categorias e valores de traços.
Características na estrutura de teste de unidade da Microsoft para código gerenciado
No Microsoft Unit Testing Framework for Managed Code, você define um par nome/valor de característica em um atributo TestPropertyAttribute. A estrutura de teste também contém estas características predefinidas:
Traço | Descrição |
---|---|
OwnerAttribute | A categoria Owner é definida pela estrutura de teste de unidade e requer que você forneça um valor de cadeia de caracteres do proprietário. |
PriorityAttribute | A categoria Priority é definida pela estrutura de teste de unidade e requer que você forneça um valor inteiro da prioridade. |
TestCategoryAttribute | O atributo TestCategory permite especificar a categoria de um teste de unidade. |
TestPropertyAttribute | O atributo TestProperty permite-lhe definir um par categoria/valor para um traço. |
Características no Microsoft Unit Testing Framework para C++
Ver Utilizar o Microsoft Framework de Testes Unitários para C++ no Visual Studio.
Criar listas de reprodução personalizadas
Você pode criar e salvar uma lista de testes que deseja executar ou exibir como um grupo. Quando você seleciona uma lista de reprodução, os testes na lista aparecem em uma nova guia Test Explorer. Você pode adicionar um teste a mais de uma lista de reprodução.
Para criar uma lista de reprodução:
- Escolha um ou mais testes no Test Explorer.
- Clique com o botão direito do rato algures no painel, aponte para Adicionar à Lista de Reproduçãoe, em seguida, selecione Nova Lista de Reprodução.
A lista de reprodução abre num novo separador do Test Explorer. Pode usar esta lista de reprodução uma vez e depois descartá-la. Ou pode selecionar o botão Guardar na barra de ferramentas da janela da lista de reprodução e, em seguida, selecionar um nome e uma localização para guardar a lista de reprodução.
Para abrir uma lista de reprodução:
- Na barra de ferramentas do Visual Studio, selecione o ícone da lista de reprodução.
- No menu, selecione um arquivo de lista de reprodução salvo anteriormente.
Para editar uma lista de reprodução, use uma destas opções:
Clique com o botão direito do mouse em qualquer teste e use os comandos de menu para adicioná-lo ou removê-lo de uma lista de reprodução.
Na barra de ferramentas, selecione o botão Editar lista de reprodução. As caixas de verificação que aparecem ao lado dos testes mostram quais testes estão incluídos e excluídos na playlist. Edite grupos conforme desejado. Esse recurso começou no Visual Studio 2019 versão 16.7.
Você também pode selecionar ou desativar as caixas para os grupos pai na hierarquia. Esta ação cria uma lista de reprodução dinâmica que sempre atualiza a lista de reprodução com base nos testes que estão nesse grupo.
Por exemplo, se você marcar uma caixa de seleção ao lado de uma classe, qualquer teste adicionado dessa classe se tornará parte dessa lista de reprodução. Se você excluir um teste dessa classe, ele será removido da lista de reprodução.
Pode saber mais sobre as regras guardando a lista de reprodução através do botão Guardar na barra de ferramentas e, em seguida, abrindo o ficheiro .playlist XML criado no disco. Este arquivo lista todas as regras e testes individuais que compõem uma lista de reprodução.
Se você quiser criar uma lista de reprodução para características, use o seguinte formato para a estrutura MSTest:
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Use o seguinte formato para a estrutura xUnit. Certifique-se de que existe um espaço entre o seu nome TestCategory
e o valor [Value]
.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Rule Match="All">
<Property Name="Solution" />
<Rule Match="Any">
<Property Name="Trait" Value="TestCategory [Value]" />
</Rule>
</Rule>
</Rule>
</Playlist>
Você pode criar e salvar uma lista de testes que deseja executar ou exibir como um grupo. Quando você seleciona uma lista de reprodução, os testes na lista aparecem em uma nova guia Test Explorer. Você pode adicionar um teste a mais de uma lista de reprodução.
Para criar uma lista de reprodução:
- Escolha um ou mais testes no Test Explorer.
- Clique com o botão direito do rato algures no painel, aponte para Adicionar à Lista de Reproduçãoe, em seguida, selecione Nova Lista de Reprodução.
A lista de reprodução é aberta num novo separador do Test Explorer. Pode utilizar esta lista de reprodução uma vez e, em seguida, descartá-la. Ou pode selecionar o botão Guardar na barra de ferramentas da janela da lista de reprodução e, em seguida, selecionar um nome e uma localização para guardar a lista de reprodução.
Para abrir uma lista de reprodução:
- Na barra de ferramentas do Visual Studio, selecione o ícone da lista de reprodução.
- No menu, selecione um arquivo de lista de reprodução salvo anteriormente.
Para editar uma lista de reprodução, use uma destas opções:
Clique com o botão direito do mouse em qualquer teste e depois use os comandos de menu para adicioná-lo ou removê-lo de uma lista.
Na barra de ferramentas, selecione o botão Editar lista de reprodução. As caixas de seleção que aparecem ao lado dos seus testes mostram quais testes estão incluídos e excluídos na playlist. Edite grupos conforme desejado. Esse recurso começou no Visual Studio 2019 versão 16.7.
Você também pode selecionar ou desmarcar as caixas para os grupos principais na hierarquia. Esta ação cria uma lista de reprodução dinâmica que atualiza constantemente a lista de reprodução com base nos testes que estão nesse grupo.
Por exemplo, se o utilizador marcar uma caixa de seleção ao lado de uma classe, qualquer teste adicionado dessa classe se tornará parte dessa playlist. Se eliminares um teste dessa classe, ele será removido da playlist.
Pode saber mais sobre as regras guardando a playlist através do botão Guardar na barra de ferramentas e, em seguida, abrindo o ficheiro .playlist XML criado no disco. Este arquivo lista todas as regras e testes individuais que compõem uma lista de reprodução.
Se você quiser criar uma lista de reprodução para características, use o seguinte formato para a estrutura MSTest:
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Use o seguinte formato para a estrutura xUnit. Certifique-se de que existe um espaço entre o seu nome TestCategory
e o valor [Value]
.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Rule Match="All">
<Property Name="Solution" />
<Rule Match="Any">
<Property Name="Trait" Value="TestCategory [Value]" />
</Rule>
</Rule>
</Rule>
</Playlist>
Colunas do Gerenciador de Testes
Grupos também estão disponíveis como colunas no Explorador de Testes, juntamente com Características, Rastreamento de Pilha, Mensagem de Erroe Nome Completamente Qualificado. A maioria das colunas não é visível por padrão. Você pode personalizar quais colunas aparecem.
As colunas podem ser filtradas, reorganizadas e classificadas:
Para filtrar características específicas, selecione o ícone de filtro na parte superior da coluna Traços.
Para alterar a ordem das colunas, selecione um cabeçalho de coluna e arraste-o para a esquerda ou para a direita.
Para classificar uma coluna, selecione o cabeçalho da coluna. Nem todas as colunas podem ser classificadas. Você também pode classificar por uma coluna secundária mantendo pressionada a tecla Shift e selecionando um cabeçalho de coluna adicional.
Colunas do Explorador de Testes
Grupos também estão disponíveis como colunas no Gerenciador de Testes, juntamente com de Traços , de Rastreamento de Pilha, de Mensagem de Erro e Nome Totalmente Qualificado. A maioria das colunas não é visível por padrão. Você pode personalizar quais colunas aparecem.
As colunas podem ser filtradas, reorganizadas e classificadas:
Para filtrar características específicas, selecione o ícone de filtro na parte superior da coluna Traços.
Para alterar a ordem das colunas, selecione um cabeçalho de coluna e arraste-o para a esquerda ou para a direita.
Para classificar uma coluna, selecione o cabeçalho da coluna. Nem todas as colunas podem ser classificadas. Você também pode classificar por uma coluna secundária mantendo pressionada a tecla Shift e selecionando um cabeçalho de coluna adicional.
Pesquisar e filtrar a lista de testes
Você também pode usar filtros de pesquisa do Test Explorer para limitar os métodos de teste em seus projetos que você exibe e executa.
Quando você digita uma cadeia de caracteres na caixa de pesquisa
Para filtrar por um critério diferente:
Abra a lista suspensa à direita da caixa de pesquisa.
Escolha um novo critério.
Insira o valor do filtro entre as aspas. Se pretender pesquisar uma correspondência exata na cadeia de caracteres em vez de uma correspondência que contenha, use um sinal de igual (=) em alternativa aos dois pontos (:).
Observação
As pesquisas não diferenciam maiúsculas de minúsculas e correspondem à cadeia de caracteres especificada em qualquer parte do valor do critério.
Eliminatórias | Descrição |
---|---|
Estado | Pesquisa os nomes das categorias do Explorador de Testes para correspondências: Testes Reprovados, Testes Ignorados, Testes Aprovados. |
Traços | Pesquisa categorias de traços e valores para correspondências. A estrutura de teste de unidade define a sintaxe para especificar categorias e valores de traços. |
Nome totalmente qualificado | Pesquisa o nome completamente qualificado de namespaces, classes e métodos de teste para correspondências. |
Projeto | Pesquisa os nomes dos projetos de teste em busca de correspondências. |
Framework de Destino | Pesquisa correspondências nas estruturas de teste. |
Namespace | Pesquisa correspondências nos namespaces de teste. |
Classe | Pesquisa os nomes das classes de teste em busca de correspondências. |
Para excluir um subconjunto dos resultados de um filtro, use a seguinte sintaxe:
FilterName:"Criteria" -FilterName:"SubsetCriteria"
Por exemplo, FullName:"MyClass" - FullName:"PerfTest"
retorna todos os testes que incluem "MyClass" em seu nome, exceto testes que também incluem "PerfTest" em seu nome.
Analise a cobertura do código de teste de unidade
Você pode determinar a quantidade de código de produto que seus testes de unidade estão realmente testando usando a ferramenta de cobertura de código do Visual Studio que está disponível no Visual Studio Enterprise. Você pode executar a cobertura de código em testes selecionados ou em todos os testes na solução.
Para executar a cobertura de código para métodos de teste numa solução:
- Clique com o botão direito do mouse no Gerenciador de Testes e selecione Analisar Cobertura de Código para Testes Selecionados.
A janela Resultados da Cobertura do Código exibe a porcentagem dos blocos de código do produto que foram exercidos por linha, função, classe, namespace e módulo.
Para obter mais informações, consulte Usar cobertura de código para determinar quanto código está sendo testado.
Atalhos de teste
Você pode executar testes do Explorador de Testes por um dos seguintes métodos:
- Clique com o botão direito do mouse em um teste no editor de código e selecione Executar teste
- Usando os atalhos padrão do Test Explorer no Visual Studio
Alguns dos atalhos são baseados no contexto. Executam testes , despistamou executam testes de perfil com base em onde o cursor está no editor de código. Se o cursor estiver dentro de um método de teste, esse método de teste será executado. Se o cursor estiver no nível da classe, todos os testes dessa classe serão executados. O mesmo comportamento é verdadeiro para o nível de namespace.
Comandos frequentes | Atalhos de teclado |
---|---|
TestExplorer.DebugAllTestsInContext |
Ctrl+R, Ctrl+T |
TestExplorer.RunAllTestsInContext |
Ctrl+R, T |
TestExplorer.RunAllTests |
Ctrl+R, A |
TestExplorer.RepeatLastRun |
Ctrl+R, L |
Observação
Não é possível executar um teste em uma classe abstrata, porque os testes são definidos apenas em classes abstratas e não instanciados. Para executar testes em classes abstratas, crie uma classe que derive da classe abstrata.
Configurar pistas de áudio
O Test Explorer pode reproduzir um destes sons quando uma execução de teste termina:
- Um som que indica que a execução do teste foi bem-sucedida com todos os testes aprovados
- Um som que indica que a execução do teste terminou com pelo menos um teste com falha
Você pode configurar esses sons na caixa de diálogo de som padrão do Windows 11. Esse recurso está disponível a partir do Visual Studio 2019 Atualização 16.9 Preview 3.
- Abra a caixa de diálogo de som padrão do Windows 11 .
- Vá para o separador Sons.
- Encontre a categoria Microsoft Visual Studio. Escolha o som predefinido Teste Concluído com Êxito ou Teste Falhou, ou navegue até o seu próprio ficheiro de áudio.