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 playlists de testes. Você também pode usar o Gerenciador de Testes para depurar testes de unidade 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 idioma que também seja direcionado ao .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++.
Criar seu projeto de teste
Se você ainda não tiver um projeto de testes configurado em sua solução do Visual Studio, primeiro crie e compile um projeto de testes. Use estes recursos:
O Visual Studio inclui as estruturas de teste de unidade da Microsoft para código gerenciado e nativo. No entanto, o Gerenciador de Testes também pode executar qualquer estrutura de teste de unidade que tenha implementado um adaptador do Gerenciador de Testes. 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 são exibidos no Gerenciador de Testes. Se o Explorador de Testes não estiver visível, selecione Teste no menu do Visual Studio e, em seguida, selecione Explorador de Testes (ou selecione Ctrl+E, T).
Conforme você executa, grava e executa novamente seus testes, o Gerenciador de Testes exibe os resultados em um agrupamento padrão de Project, Namespacee Class. Você pode alterar a maneira como o Gerenciador de Testes agrupa seus testes.
Você pode executar grande parte do trabalho de localizar, organizar e rodar testes na barra de ferramentas do Test Explorer .
Executar testes
Escolha uma destas opções para executar testes:
Para executar todos os testes em uma solução, selecione o ícone Run All (ou selecione Ctrl+R, V).
Para executar todos os testes em um grupo padrão, selecione o ícone Executar e então escolha 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 os impeçam de serem executados em qualquer ordem, ative a execução de teste paralelo no menu de configurações da barra de ferramentas. Essa ação pode reduzir o tempo de execução de todos os testes.
Nota
Para configurar a plataforma de destino (arquitetura de processo) para executar testes de unidade, consulte Configurar a arquitetura do processo para um teste de unidade.
Executar testes após cada build
Para executar os testes de unidade após cada build local, selecione o ícone de configurações na barra de ferramentas do Gerenciador de Testes e selecione Executar Testes após o Build.
Exibir resultados do teste
À medida que você executa, grava e executa novamente seus testes, o Explorador de Testes exibe os resultados em grupos de testes com falha, testes aprovados, testes ignoradose testes não executados. O painel de detalhes na parte inferior ou lateral do Gerenciador de Testes exibe um resumo da execução do teste.
Exibir detalhes do teste
Para exibir os detalhes de um teste individual, selecione o teste.
O painel para detalhes do teste é exibido:
O nome do arquivo de origem e o número de linha do método de teste.
O status 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 teste unitário retorna para o teste.
O rastreamento de 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 de Teste (ou selecione a chave 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 comparando cadeias de caracteres com as propriedades de teste.
Agrupamento de 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 e selecione um novo critério de agrupamento.
Você pode definir seus níveis da hierarquia (agrupar por Estado e, em seguida, Classe, por exemplo) selecionando opções de Agrupar por na ordem que preferir.
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 selecione um novo critério de agrupamento.
Você pode definir seus níveis da hierarquia (agrupar por Estado e, em seguida, Classe, por exemplo) selecionando opções de Agrupar por na ordem que preferir.
Grupos de Gerenciador de Testes
Grupo | Descrição |
---|---|
Duração | Agrupa os testes por tempo de execução: Rápida, Média, Lenta. |
Estado | Agrupa testes por resultados de execução: testes com falha, testes ignorados, testes aprovados, testes não executados. |
Estrutura de destino | Agrupa os testes pelo framework ao qual os projetos deles se destinam. |
Namespace | Agrupa os testes pelo namespace que contém. |
Projeto | Agrupa testes pelo projeto que os contêm. |
Classe | Agrupa os testes pela classe que os contém. |
Características
Um atributo geralmente é um par de nome e valor de categoria, mas também pode ser uma única categoria. As características podem ser atribuídas aos 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 características. 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 característica.
Atributos no Framework de Teste de Unidade da Microsoft para Código Gerenciado
No Microsoft Unit Testing Framework for Managed Code, você define um par de nome/valor de característica em um atributo TestPropertyAttribute. A estrutura de teste também contém estas características predefinidas:
Característica | Descrição |
---|---|
OwnerAttribute | A categoria Owner é definida pelo framework de teste unitário e exige que você forneça um valor de string do proprietário. |
PriorityAttribute | A categoria Priority é definida pela estrutura de teste de unidade e exige que você forneça um valor inteiro da prioridade. |
TestCategoryAttribute | O atributo TestCategory permite que você especifique a categoria de um teste de unidade. |
TestPropertyAttribute | O atributo TestProperty permite que você defina um par de categoria/valor de característica. |
Características no Microsoft Unit Testing Framework para C++
Confira Usar o Microsoft Unit Testing Framework para C/C++ no Visual Studio.
Criar playlists personalizadas
Você pode criar e salvar uma lista de testes que deseja executar ou exibir como um grupo. Quando você seleciona uma playlist, os testes na lista aparecem em uma nova guia do Gerenciador de Testes. Você pode adicionar um teste a mais de uma playlist.
Para criar uma playlist:
- Escolha um ou mais testes no Gerenciador de Testes.
- Clique com o botão direito do mouse em algum lugar no painel, aponte para Adicionar à Playlist e selecione Nova Playlist.
A playlist é aberta em uma nova guia do Gerenciador de Testes. Você pode usar essa playlist uma vez e, em seguida, descartá-la. Ou você pode selecionar o botão Salvar na barra de ferramentas da janela da playlist e selecionar um nome e local para salvar a playlist.
Para abrir uma playlist:
- Na barra de ferramentas do Visual Studio, selecione o ícone de playlist.
- No menu, selecione um arquivo de playlist salvo anteriormente.
Para editar uma playlist, 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 playlist.
Na barra de ferramentas, selecione o botão Editar Playlist. As caixas de seleção que aparecem ao lado de seus testes mostram quais testes estão incluídos e excluídos na playlist. Edite grupos conforme desejado. Essa funcionalidade foi iniciada no Visual Studio 2019 versão 16.7.
Você também pode selecionar ou desmarcar as caixas dos grupos pais na hierarquia. Essa ação cria uma playlist dinâmica que sempre atualiza a playlist com base nos testes que estão nesse grupo.
Por exemplo, se você selecionar uma caixa de seleção ao lado de uma classe, qualquer teste adicionado dessa classe se tornará parte dessa playlist. Se você excluir um teste dessa classe, ele será removido da playlist.
Você pode saber mais sobre as regras salvando a playlist por meio do botão Salvar na barra de ferramentas e, em seguida, abrindo a .playlist arquivo XML criado em seu disco. Este arquivo lista todas as regras e testes individuais que compõem uma playlist.
Se você quiser criar uma playlist 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. Verifique se há um espaço entre o 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 playlist, os testes na lista aparecem em uma nova guia do Gerenciador de Testes. Você pode adicionar um teste a mais de uma playlist.
Para criar uma playlist:
- Escolha um ou mais testes no Gerenciador de Testes.
- Clique com o botão direito do mouse em algum lugar no painel, aponte para Adicionar à Playlist e selecione Nova Playlist.
A playlist é aberta em uma nova guia do Gerenciador de Testes. Você pode usar essa playlist uma vez e, em seguida, descartá-la. Ou você pode selecionar o botão Salvar na barra de ferramentas da janela da playlist e selecionar um nome e local para salvar a playlist.
Para abrir uma playlist:
- Na barra de ferramentas do Visual Studio, selecione o ícone de playlist.
- No menu, selecione um arquivo de playlist salvo anteriormente.
Para editar uma playlist, 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 playlist.
Na barra de ferramentas, selecione o botão Editar Playlist. As caixas de seleção que aparecem ao lado de seus testes mostram quais testes estão incluídos e excluídos na playlist. Edite grupos conforme desejado. Essa funcionalidade foi iniciada no Visual Studio 2019 versão 16.7.
Você também pode selecionar ou desmarcar as caixas dos grupos pais na hierarquia. Essa ação cria uma playlist dinâmica que sempre atualiza a playlist com base nos testes que estão nesse grupo.
Por exemplo, se você selecionar uma caixa de seleção ao lado de uma classe, qualquer teste adicionado dessa classe se tornará parte dessa playlist. Se você excluir um teste dessa classe, ele será removido da playlist.
Você pode saber mais sobre as regras salvando a playlist por meio do botão Salvar na barra de ferramentas e, em seguida, abrindo a .playlist arquivo XML criado em seu disco. Este arquivo lista todas as regras e testes individuais que compõem uma playlist.
Se você quiser criar uma playlist 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. Verifique se há um espaço entre o 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 Gerenciador de Testes, juntamente com Características, Rastreamento de Pilha, Mensagem de Erro e Nome Totalmente Qualificado. A maioria das colunas não está visível por padrão. Você pode personalizar quais colunas aparecem.
As colunas podem ser filtradas, reorganizadas e classificadas:
Para filtrar por características específicas, selecione o ícone de filtro na parte superior da coluna Características.
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 segurando a tecla Shift e selecionando um cabeçalho de coluna adicional.
Colunas do Gerenciador de Testes
Grupos também estão disponíveis como colunas no Gerenciador de Testes, juntamente com Características, Rastreamento de Pilha, Mensagem de Erro e Nome Totalmente Qualificado. A maioria das colunas não está 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 Características.
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 segurando 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 Gerenciador de Testes para limitar os métodos de teste em seus projetos que você exibir e executar.
Quando você digita uma cadeia de caracteres na caixa de pesquisa Gerenciador de Testes e seleciona a chave Enter, a lista de testes é filtrada para exibir somente testes cujos nomes totalmente qualificados contêm a cadeia de caracteres.
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 você quiser procurar uma correspondência exata na cadeia de caracteres em vez de uma correspondência que contenha o conteúdo, use um sinal de igual (=) em vez dos dois-pontos (:).
Nota
As buscas não diferenciam maiúsculas e minúsculas e correspondem à cadeia de caracteres especificada em qualquer parte do valor do critério.
Qualificador | Descrição |
---|---|
Estado | Procura os nomes de categoria do Gerenciador de Testes para encontrar correspondências: testes com falha, testes ignorados, testes aprovados. |
Características | Pesquisa as categorias de características e os valores para correspondências. A estrutura de teste de unidade define a sintaxe para especificar categorias e valores de característica. |
Nome Totalmente Qualificado | Pesquisa o nome totalmente qualificado de namespaces de teste, classes e métodos para encontrar correspondências. |
Projeto | Procura os nomes de projeto de teste para correspondências. |
Estrutura de destino | Pesquisa as estruturas de teste para encontrar correspondências. |
Namespace | Pesquisa os namespaces de teste para correspondências. |
Classe | Pesquisa os nomes de classes de teste para encontrar 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.
Analisar a cobertura de código de teste de unidade
É possível determinar a quantidade do código de produto que os testes de unidade estão realmente testando com a ferramenta de cobertura do Visual Studio Code que está disponível no Visual Studio Enterprise. Você pode executar a cobertura de código em testes selecionados ou em todos os testes em uma solução.
Para cobrir o código de métodos de teste em uma solução, execute:
- 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 de Cobertura de Código exibe a porcentagem dos blocos de código do produto que foram testados por linha, função, classe, namespace e módulo.
Para obter mais informações, consulte Use cobertura de código para determinar quanto código está sendo testado.
Atalhos de teste
Você pode executar testes no Test Explorer de duas maneiras:
- Clicando com o botão direito do mouse em um teste no editor de código e selecionando Executar teste
- Usando os atalhos padrão do Test Explorer no Visual Studio
Alguns dos atalhos são baseados em contexto. Eles executam testes de depuração ou 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 nessa classe serão executados. O mesmo comportamento é verdadeiro para o nível do 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 |
Nota
Você não pode executar um teste em uma classe abstrata, pois os testes são definidos apenas em classes abstratas e não instanciados. Para executar testes em classes abstratas, crie uma classe que deriva da classe abstrata.
Configurar indicações de áudio
O Gerenciador de Testes pode reproduzir um destes sons quando uma execução de teste é concluída:
- Um som que indica que a execução de 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 padrão do Windows 11 Sound. Esse recurso está disponível a partir do Visual Studio 2019 Atualização 16.9 Versão Prévia 3.
- Abra a caixa de diálogo padrão de Som do Windows 11.
- Vá para a aba Sons.
- Localize a categoria Microsoft Visual Studio. Escolha o som predefinido para Execução de Teste Bem-Sucedida ou Execução de Teste Falhou ou procure um arquivo de áudio próprio.
Conteúdo relacionado
- Efetuar teste de unidade em seu código
- Depurar testes de unidade com o Gerenciador de Testes
- executar um teste de unidade como um processo de 64 bits
- Perguntas frequentes do Gerenciador de Testes