Executando testes de unidade com 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, testes de grupo em categorias, filtrar a lista de testes, criar, salvar, e executar as listas de testes.Você também pode depurar testes e analisar o desempenho do teste e a cobertura de código.

Sumário

Estruturas de teste de unidade e projetos de teste

Executar testes no Gerenciador de Testes

Exibir os resultados do teste

Agrupar e filtrar a lista de testes

Crie listas de reprodução personalizadas

Depurar e analisar testes de unidade

Recursos externos

Estruturas de teste de unidade e projetos de teste

O Visual Studio inclui as estruturas de testes de unidade da Microsoft para código gerenciado e nativo.Entretanto, o Gerenciador de Testes também pode executar qualquer estrutura de testes de unidade que tenha implementado um adaptador do Gerenciador de testes.Para obter mais informações sobre como instalar estruturas de terceiros de testes de unidade, consulte Como instalar estruturas de teste de unidade de terceiros

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.Projetos de teste podem usar diferentes frameworks de testes de unidade.Quando o código sob teste é escrito para o .NET Framework, o projeto de teste pode ser escrito em qualquer idioma que também seja destino do .NET Framework, independentemente do idioma do código de destino.Os projetos de código C/C++ nativo devem ser testados usando uma estrutura de teste de unidade C++.

Voltar ao inícioSumário

Executar testes no Gerenciador de Testes

Executar testes**|**Executar testes após cada compilação

Quando você compila o projeto de teste, os testes aparecem no Gerenciador de Testes.Se o Gerenciador de Testes não estiver visível, escolha Teste no menu do Visual Studio, escolha Windows e então Gerenciador de Testes.

Gerenciador de testes de unidade

À medida que executa, escreve e executa novamente seus testes, o Gerenciador de Testes exibe os resultados nos grupos padrão de Testes com Falha, Testes Aprovados, Testes Ignorados e Não Executar Testes.Você pode alterar como o Gerenciador de Testes agrupa os testes.

É possível executar muitas das tarefas de localização, organização e execução de testes na barra de ferramentas Gerenciador de Testes.

Executar testes na barra de ferramentas do Gerenciador de testes

Voltar ao inícioSumário

Executar testes

É possível executar todos os testes na solução, todos os testes em um grupo ou um conjunto de testes selecionados.Siga um destes procedimentos:

  • Para executar todos os testes em uma solução, escolha Executar Todos.

  • Para executar todos os testes em um grupo padrão, escolha Executar… e o grupo no menu.

  • Selecione os testes individuais que deseja executar, abra o menu de contexto de um teste selecionado e escolha Executar Testes Selecionados.

A barra de aprovação/reprovação na parte superior da janela Gerenciador de Testes é animada conforme a execução dos testes.Na conclusão da execução do teste, a barra de aprovação/reprovação ficará verde se todos os testes passarem ou vermelha se algum teste falhar.

Voltar ao inícioSumário

Teste de execução após cada compilação

Observação de cuidadoCuidado

Executando testes de unidade após cada compilação ser suportada no em edições do Visual Studio Ultimate and Premium.

Executado após a compilação

Para executar seus testes de unidade após cada compilação local, selecione Testar no menu padrão e, em seguida, selecione Executar testes após a compilação na barra de ferramentas do gerenciador de testes.

Voltar ao inícioSumário

Exibir os resultados do teste

Exibir detalhes do teste**|**Exibir o código-fonte de um método de teste

À medida que executa, escreve e executa novamente seus testes, o Gerenciador de Testes exibe os resultados nos grupos de Testes com Falha, Testes Aprovados, Testes Ignorados e Não Executar Testes.O painel de detalhes na parte inferior 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.

Detalhes de execução de teste

O painel de detalhes do teste exibe as seguintes informações:

  • O nome do arquivo de origem e o número da linha do método de teste.

  • O status do teste.

  • O tempo decorrido na execução do método de teste.

Se o teste falhar, o painel de detalhes também exibirá:

  • A mensagem retornada pela estrutura de teste de unidade para o teste.

  • O rastreamento de pilha no momento em que o teste falhou.

Voltar ao inícioSumário

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, selecione o teste e escolha Abrir Teste no menu de contexto (teclado: F12).

Voltar ao inícioSumário

Agrupar e filtrar a lista de teste

Agrupamento da lista de teste**|Agrupar por características|**Pesquisar e filtrar a lista de testes

O Gerenciador de Testes permite que você agrupe 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 categoria/valor para agrupar seus testes.Você também pode filtrar a lista de testes por cadeias de caracteres correspondentes em comparação com propriedades de teste.

Agrupamento da lista de testes

Para alterar a forma como os testes são organizados, escolha a seta para baixo ao lado do botão Agrupar porBotão de grupo do Gerenciador de teste e selecione um novo critério de agrupamento.

Agrupar testes por categoria no Gerenciador de testes

Grupos do Gerenciador de Testes

Grupo

Descrição

Duração

Agrupa testes por tempo de execução: Rápido, Médio e Lento.

Resultado

Agrupa os testes por resultados de execução: Testes com falha, Testes ignorados, Testes aprovados.

Características

Agrupa testes por pares de categoria/valor que você define.A sintaxe para especificar categorias de característica e valores é definida pela estrutura de testes de unidade.

Projeto

Agrupa os testes pelo nome dos projetos.

Voltar ao inícioSumário

Agrupar por características

Geralmente, uma característica é um par de nome de categoria/nome de valor, mas também pode ser uma única categoria.As características podem ser atribuídas aos métodos que são identificados como um método de teste pela estrutura de testes de unidade.Uma estrutura de testes de unidade pode definir categorias de característica.Você pode adicionar valores às categorias de características para definir seus próprios pares de valores/nome da categoria.A sintaxe para especificar categorias de característica e valores é definida pela estrutura de testes de unidade.

Características na estrutura de testes de unidade da Microsoft para o código gerenciado

Na estrutura de testes de unidade da Microsoft para aplicativos gerenciados, você define um par nome/valor de característica em um atributo TestPropertyAttribute.A estrutura de teste também contém esses traços predefinidos:

Característica

Descrição

OwnerAttribute

A categoria do proprietário é definida pela estrutura de testes de unidade e requer que você forneça um valor de cadeia de caracteres do proprietário.

PriorityAttribute

A categoria de prioridade é definida pela estrutura de testes de unidade e requer que você forneça um valor inteiro da prioridade.

TestCategoryAttribute

O atributo TestCategory permite que você forneça uma categoria sem um valor.Uma categoria definida pelo atributo de TestCategory também pode ser a categoria do atributo TestProperty.

TestPropertyAttribute

O atributo TestProperty permite que você defina a categoria de característica/par de valores.

Características na estrutura de testes de unidade da Microsoft para o C++

Para definir um sublinhado, use a macro de TEST_METHOD_ATTRIBUTE.Por exemplo, para definir uma característica denominada TEST_MY_TRAIT:

#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)

Para usar a característica definida em seus testes de unidade:

BEGIN_TEST_METHOD_ATTRIBUTE(Method1)
    TEST_OWNER(L"OwnerName")
    TEST_PRIORITY(1)
    TEST_MY_TRAIT(L"thisTraitValue")
END_TEST_METHOD_ATTRIBUTE()

TEST_METHOD(Method1)
{   
    Logger::WriteMessage("In Method1");
    Assert::AreEqual(0, 0);
}

Macros de atributo sublinhado de C++

Macro

Descrição

TEST_METHOD_ATTRIBUTE(attributeName, attributeValue)

Use a macro TEST_METHOD_ATTRIBUTE para definir uma característica

TEST_OWNER(ownerAlias)

Use a característica predefinida do proprietário para especificar um proprietário do método de teste.

TEST_PRIORITY(priority)

Use a característica predefinida de prioridade para atribuir prioridades relativas a seus métodos de teste.

Voltar ao inícioSumário

Pesquisar e filtrar a lista de teste

Você pode usar filtros do Gerenciador de Testes para limitar os métodos de teste em seus projetos que você exibiu e executou.

Quando você digita uma cadeia de caracteres na caixa de pesquisa do Gerenciador de Testes e pressiona ENTER, a lista de teste é filtrada para exibir somente os testes cujos nomes totalmente qualificados contêm a cadeia de caracteres.

Para filtrar por critérios diferentes:

  1. Abra a lista suspensa à direita da caixa de pesquisa.

  2. Escolha novos critérios.

  3. Insira o valor de filtro entre aspas.

Filtrar testes no Gerenciador de testes

ObservaçãoObservação

As pesquisas não diferenciam maiúsculas de minúsculas e correspondem a cadeia de caracteres especificada em qualquer parte dos critérios de valor.

Qualificador

Descrição

Característica

Pesquisa a categoria de características e o valor por correspondências.A sintaxe para especificar categorias de característica e valores é definida pela estrutura de testes de unidade.

Projeto

Pesquisa os nomes de projeto de teste por correspondências.

Mensagem de Erro

Pesquisa as mensagens de erro definidas pelo usuário retornadas por verificações com falha por correspondências.

Caminho de arquivo

Pesquisa o nome de arquivo totalmente qualificado de arquivos de origem de teste para obter correspondência.

Nome totalmente qualificado

Pesquisa o nome de arquivo totalmente qualificado de namespaces teste, de classes e métodos por correspondências.

Saída

Pesquisa as mensagens de erro definidas pelo usuário que são gravadas para a saída padrão (stdout) ou o erro padrão (stderr).A sintaxe para especificar mensagens de saída é definida pela estrutura de testes de unidade.

Resultado

Procura os nomes de categoria do Gerenciador de Testes por correspondências: Testes com falha, Teste ignorados, Testes Aprovados.

Para excluir um subconjunto de 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 os testes que também incluem “PerfTest” em seu nome.

Voltar ao inícioSumário

Crie 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 são exibidos no Gerenciador de Testes.Você pode adicionar um teste a mais de uma lista de reprodução, e todos os testes em seu projeto estão disponíveis quando você escolhe a lista de reprodução padrão de Todos os Testes.

Escolha uma lista de reprodução

Para criar uma lista de músicas, escolha um ou mais testes no gerenciador de testes.No menu de contexto, escolha Adicionar à Lista de Reprodução, NewPlaylist.Salve o arquivo com o nome e local que você especificar na caixa de diálogo Criar Nova Lista de Músicas .

Para adicionar testes a uma lista de músicas, escolha um ou mais testes no gerenciador de testes.No menu de contexto, escolha Adicionar à Lista de Reprodução, e escolha a lista de músicas a qual você deseja adicionar os testes.

Para abrir uma lista de reprodução, selecione Teste, no menu Lista de Reprodução do Visual Studio, e escolha a lista de listas de reprodução recentemente usadas, ou selecione Abrir Lista de Reprodução para especificar o nome e o local da lista de reprodução.

Voltar ao inícioSumário

Depurar e analisar testes de unidade

Depurar testes de unidade**|Diagnosticar problemas de desempenho do método de teste|**Analisar a cobertura de código de teste de unidade

Depurar testes de unidade

Você pode usar Gerenciador de Testes para iniciar uma sessão de depuração para os testes.Percorrer o código com o depurador do Visual Studio faz com que você alterne naturalmente entre os testes de unidade e o projeto sob teste.Para iniciar a depuração:

  1. No editor do Visual Studio, defina um ponto de interrupção em um ou mais métodos de teste que deseja depurar.

    ObservaçãoObservação

    Como os métodos de teste podem ser executados em qualquer ordem, definas os pontos de interrupção em todos os métodos de teste que deseja depurar.

  2. No Gerenciador de Testes, selecione os métodos de teste e escolha Depurar Testes Selecionados no menu de contexto.

Para obter mais informações sobre o depurador, consulte Depurando no Visual Studio.

Voltar ao inícioSumário

Diagnosticar problemas de desempenho do método de teste

Para diagnosticar o motivo de um método de teste estar demorando muito, selecione o método no gerenciador de testes e, em seguida, escolha o perfil no menu de contexto.Consulte Analisando o desempenho do aplicativo usando as ferramentas de criação de perfil.

Analise cobertura de código de teste de unidade

ObservaçãoObservação

A cobertura de código de teste de unidade está disponível somente no Visual Studio Ultimate e Visual Studio Premium.

Você pode determinar a quantidade de código do produto que está sendo realmente testada por seus testes de unidade usando a ferramenta de cobertura de código do Visual Studio.Você pode executar a cobertura de código em teste ou selecionados em todos os testes em uma solução.

Para executar a cobertura de código para métodos de teste em uma solução:

  1. Escolha Testes no menu Visual Studio e, em seguida, Analisar cobertura de código.

  2. Escolha um dos seguintes comandos no submenu:

    • Teste selecionados executa os métodos de teste que você selecionou no Gerenciador de Testes.

    • Todos os testes executa todos os métodos de testes na solução.

A janela Resultados da cobertura de código exibe a porcentagem dos blocos de código do produto que foram utilizados por linha, função, classe, módulo e namespace.

Para obter mais informações, consulte Usando cobertura de código para determinar quanto código está sendo testado.

Voltar ao inícioSumário

Recursos externos

Orientação

Teste para entrega contínua com o Visual Studio 2012 – Capítulo 2: Teste de Unidade: Testando o Interior

Consulte também

Conceitos

Verificando código usando testes de unidade

Como executar um teste de unidade como um processo de 64 bits