Executando testes de unidade com Test Explorer
Ajuda do gerenciador de teste do Visual Studio você integra testes de unidade em seu processo de desenvolvimento.Você pode executar testes vários projetos de teste em uma solução e classes de teste que são parte de projetos de código de produção.Projetos de teste podem usar diferentes frameworks de testes de unidade.Neste tópico, você pode saber:
Nesta seção
Estruturas de testes de unidade e projetos de teste
Executar testes no teste Explorer
Executar testes
Executar testes após cada compilação
Resultados de teste de exibição
Exibir detalhes de teste
Exibindo o código-fonte de um método de teste
Agrupamento e filtragem a lista de teste
Agrupando a lista de teste
Agrupamento por traços
Procurando e filtrando a lista de teste
Testes de unidade de depuração
Para analisar a tinta de código de teste de unidade
Diagnosticando problemas de desempenho do método de teste
Recursos externos
- Orientação
Estruturas de testes de unidade e projetos de teste
O Visual Studio inclui as estruturas de testes de unidade da Microsoft para código gerenciado e para nativo.Entretanto, o teste Explorer também pode executar qualquer estrutura de testes de unidade que implementar um adaptador do gerenciador de teste.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 teste Explorer pode executar testes vários projetos de teste em uma solução e classes de teste que são parte de projetos de código de produção.Projetos de teste podem usar diferentes frameworks de testes de unidade.Quando o código no teste é escrito para o framework .NET, o projeto de teste pode ser escrito em qualquer linguagem .NET, independentemente da linguagem de código de destino.Projetos de código nativo de C/C++ devem ser testados usando a estrutura de testes de unidade de c++.
Nesta seção
Executar testes no teste Explorer
Quando você compila o projeto de teste, os testes aparecem no teste Explorer.Se o teste Explorer não estiver visível, escolha Testar no menu do Visual Studio, escolha Janelas, escolha Gerenciador de Testes.
Como você executa, gravar, e execute novamente seus testes, exibe do gerenciador de teste os resultados em grupos padrão de Testes com falha, Testes que Passaram, Teste ignorados e Não teste de execução.Você pode alterar a maneira como o teste Explorer agrupa os testes.
Você pode executar muito de trabalho de localização, de organizar e executar testes da barra de ferramentas do gerenciador de teste.
Executar testes
Você pode executar todos os testes na solução, todos os testes em um grupo, ou um conjunto de testes que você seleciona.Siga um destes procedimentos:
Para executar todos os testes em uma solução, escolha Execute Todos.
Para executar todos os testes em um grupo padrão, escolha Executar... e então escolha o grupo no menu.
Selecione os testes individuais que você deseja executar, abra o menu de atalho para um teste selecionado e escolha então Executar testes selecionados.
A barra de passagem/falha na parte superior da janela do Explorer de teste é animada como execução de teste.No final de ensaio, a barra de passagem/falha gira o verde se todos os testes passaram ou gira o vermelho se alguma testa falha.
Executar testes após cada compilação
Cuidado |
---|
Os testes de unidade em execução após cada compilação são suportados apenas no Visual Studio final. |
Para executar seus testes de unidade após cada compilação local, escolha Testar no menu padrão, escolha Teste de execução após a compilação na barra de ferramentas do gerenciador de teste. |
Nesta seção
Resultados de teste de exibição
Como você executa, gravar, e execute novamente seus testes, exibe do gerenciador de teste os resultados em grupos de Testes com falha, Testes que Passaram, Teste ignorados e Não teste de execução.O painel de detalhes na parte inferior de teste Explorer exibe um resumo de ensaio.
Exibir detalhes de teste
Para exibir detalhes de um teste individual, selecione o teste.
O painel de detalhes de 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 de teste.
O tempo decorrido que o método de teste recebe a execução.
Se o teste falhar, o painel de detalhes exibe também:
A mensagem retornada pela estrutura de testes de unidade para teste.
O rastreamento de pilha no teste falhou.
Exibindo o código-fonte de um método de teste
Para exibir o código-fonte para um método de teste no editor do Visual Studio, selecione o teste e então escolha Abrir Teste no menu de atalho (teclado: F12).
Nesta seção
Agrupamento e filtragem a lista de teste
O teste Explorer permite que você agrupe seus testes em categorias predefinidas.A maioria das estruturas de testes de unidade que executam no teste Explorer permitem que você defina seus próprios categorias e pares de categoria/valor para agrupar os testes.Você também pode filtrar a lista de teste por cadeias de caracteres de correspondência com propriedades de teste.
Agrupando a lista de teste
Para alterar a maneira que os testes são organizados, escolha a seta para baixo ao lado do botão de Agrupar por e selecione novos critérios de um agrupamento.
Testar grupos de Explorer
Group |
Descrição |
---|---|
Duração |
Os grupos testam em tempo de execução: Rápido, Médio, e Lenta. |
Resultado |
Teste de grupos por resultados de execução: Testes com falha, Teste ignorados, Testes que Passaram. |
Sublinha |
Os grupos testar os pares bycategory/valor que você define.A sintaxe para especificar categorias e valores sublinhado é definida pela estrutura de testes de unidade. |
Projeto |
Os grupos testam pelo nome de projetos. |
Agrupamento por traços
Um sublinhado é geralmente um par nome/valor de categoria, mas também pode ser uma única categoria.Os traços podem ser atribuídos 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 sublinhado.Você pode adicionar valores as categorias sublinhado para definir seus próprios pares nome/valor da categoria.A sintaxe para especificar categorias e valores sublinhado é definida pela estrutura de testes de unidade.
Por exemplo, a estrutura de testes de unidade da Microsoft para aplicativos gerenciados, você define um par nome/valor sublinhado usando TestPropertyAttribute.A estrutura de testes de unidade do Microsoft também contém esses traços predefinidos:
Sublinhado |
Descrição |
---|---|
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.OwnerAttribute ] |
A categoria do proprietário é definida pela estrutura de testes de unidade e requer fornecer um valor de cadeia de caracteres do proprietário. |
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.PriorityAttribute ] |
A categoria de prioridade é definida pela estrutura de testes de unidade e requer fornecer um valor inteiro de prioridade. |
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute ] |
O atributo de TestCategory permite que você forneça uma categoria sem um valor.Uma categoria definida pelo atributo de TestCategory também pode ser a categoria de um atributo TestProperty. |
[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute ] |
O atributo TestProperty permite que você defina a categoria sublinhado/pares de valores. |
Traços na unidade da Microsoft que testa Framework para C++
Para definir um sublinhado, use a macro de TEST_METHOD_ATTRIBUTE .Por exemplo, definir um sublinhado chamado TEST_MY_TRAIT:
#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)
Para usar o sublinhado definido 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 de TEST_METHOD_ATTRIBUTE para definir um sublinhado. |
TEST_OWNER(ownerAlias) |
Use o sublinhado predefinido do proprietário para especificar um proprietário do método de teste. |
TEST_PRIORITY(priority) |
Use o sublinhado predefinido de prioridade para atribuir prioridades relativas a seus métodos de teste. |
Nesta seção
Procurando e filtrando a lista de teste
Você pode usar filtros do gerenciador de teste para limitar os métodos de teste em seus projetos que você exiba e executa.
Quando você digita uma cadeia de caracteres dentro na caixa de pesquisa do gerenciador de teste e pressione 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 |
---|
Pesquisas não diferenciam maiúsculas de minúsculas e correspondem a cadeia de caracteres especificada qualquer parte dos critérios de valor. |
Qualificador |
Descrição |
---|---|
Sublinhado |
Procura a categoria e o valor sublinhado por correspondências.A sintaxe para especificar categorias sublinhado e valores são definidos pela estrutura de testes de unidade. |
Projeto |
Procura os nomes de projeto de teste por correspondências. |
Mensagem de erro |
Procura as mensagens de erro definidos pelo usuário retornadas por com falha afirma para correspondências. |
Caminho de arquivo |
Procura o nome de arquivo totalmente qualificado de arquivos de origem de teste por correspondências. |
Nome totalmente qualificado |
Procura o nome de arquivo totalmente qualificado de namespaces, de classes, e métodos de teste por correspondências. |
Saída |
Procura as mensagens de erro definidos 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 teste por correspondências: Testes com falha, Teste ignorados, Testes que Passaram. |
Nesta seção
Testes de unidade de depuração
Você pode usar o teste Explorer para iniciar uma sessão de depuração para os testes.Depurar seu código com o depurador do Visual Studio leva você perfeitamente e adiantar entre os testes de unidade e o projeto no teste.Para iniciar depuração:
No editor do Visual Studio, definir um ponto de interrupção em um ou mais métodos de teste que você deseja depurar.
Observação Como os métodos de teste podem executar em qualquer ordem, definir pontos de interrupção em todos os métodos de teste que você deseja depurar.
No teste Explorer, selecione os métodos de teste e então escolha Depurar testes selecionados no menu de atalho.
Para obter mais informações, sobre o depurador, consulte Depuração no Visual Studio.
Nesta seção
Para analisar a tinta de código de teste de unidade
Observação |
---|
A cobertuda de código de teste da unidade está disponível apenas no Visual Studio Ultimate e no Visual Studio Premium. |
Você pode determinar a quantidade de seu código do produto que está sendo testado realmente por seus testes de unidade usando a ferramenta de tinta de código Visual Studio.Você pode executar a tinta de código em teste ou selecionados em todos os testes em uma solução.
Para executar a tinta de código para métodos de teste em uma solução:
Escolha Testes no menu do Visual Studio e então escolha Analisar Cobertura de Código.
Escolha um dos seguintes comandos submenu:
Teste selecionados executa os métodos de teste que você selecionou no teste Explorer.
Tudo teste é executado todos os métodos de teste na solução.
A janela de resultados de tinta de código exibe a porcentagem dos blocos de código do produto que foram exercitados por linha, funcionam, classe, módulo e namespace.
Para obter mais informações, consulte Usando a cobertura de código para determinar como muito código está sendo testado.
Nesta seção
Diagnosticando problemas de desempenho do método de teste
Para diagnosticar como um método de teste está colocando demasiadas hora, selecione o método no teste Explorer e escolha Perfil no menu de atalho.Consulte Analisando o desempenho do aplicativo usando as ferramentas de criação de perfil.
Nesta seção
Recursos externos
Orientação
Consulte também
Conceitos
Verificando o código usando testes de unidade
Como: executar um teste de unidade como um processo de 64 bits