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++.
Sumá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.
À 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.
Sumá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.
Sumário
Teste de execução após cada compilação
Cuidado |
---|
Executando testes de unidade após cada compilação ser suportada no em edições do Visual Studio Ultimate and Premium. |
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. |
Sumá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.
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.
Sumá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).
Sumá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 por e selecione um novo critério de agrupamento.
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. |
Sumá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 |
---|---|
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. |
|
A categoria de prioridade é definida pela estrutura de testes de unidade e requer que você forneça um valor inteiro da prioridade. |
|
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. |
|
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. |
Sumá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:
Abra a lista suspensa à direita da caixa de pesquisa.
Escolha novos critérios.
Insira o valor de filtro entre aspas.
Observaçã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.
Sumá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.
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.
Sumá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:
No editor do Visual Studio, defina um ponto de interrupção em um ou mais métodos de teste que deseja depurar.
Observaçã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.
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.
Sumá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çã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:
Escolha Testes no menu Visual Studio e, em seguida, Analisar cobertura de código.
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.
Sumário
Recursos externos
Orientação
Consulte também
Conceitos
Verificando código usando testes de unidade
Como executar um teste de unidade como um processo de 64 bits