Solucionando problemas de execução do teste
Se um teste não executa, você pode investigar a falha verificando o ambiente de teste; isso inclui a maneira que o teste é configurado e as configurações nas configurações ativas de teste.Em alguns casos, como as relacionadas à implantação, falhas são independentes do tipo de teste.Em outros casos, o tipo de teste e que determina como a investigar.Para obter dicas de investigação pelo tipo de teste, consulte Detalhes pelo tipo de teste.
Os erros que envolvem teste são-lhe reportados em qualquer um dos dois níveis:
erros de nível Teste-.Usando os resultados do teste a janela, clique duas vezes no resultado de teste ou clique com o botão direito do mouse no resultado de teste e selecione Detalhes de resultados de teste de exibição.Isso exibe uma página de teste [] detalhes que mostra mensagens de erro e outros detalhes, dependendo do tipo de teste, como informações de rastreamento de pilha para a unidade testem.Um exemplo de um erro de teste- nível é um erro de tempo limite de teste, que ocorre se o limite de tempo limite de teste é alcançado.
erros de nível Executar-.Erros no nível de execução, que incluem erros de configurações de teste, são relatados através da janela de resultados de teste.Quando um erro de executar- nível ocorre, um link aparece na barra de status da janela de resultados de teste.Escolha este link exibe mais detalhes sobre o erro na página de ensaio detalhes [].Você também pode visualizar a página de ensaio [] Detalhes de execução escolhendo detalhes na barra de ferramentas da janela de resultados de teste.Um exemplo de um erro de executar- nível é um erro de tempo limite de execução, que ocorre se o limite de tempo limite de execução é alcançado.
Nem todos os problemas fazem com que um teste a falha seja executado.Depois que você escolher para obter dados de tinta de código, executar testes pode gerar um aviso se seu projeto possui determinadas configurações de compilação.Para obter mais informações, consulte Usando o AnyCPU configurações de compilação para obter dados de tinta de código.
Erros de implantação
Alguns erros podem ser encontrados para qualquer teste que pode executar automaticamente, o que significa qualquer tipo de teste que não seja o manual.Esses erros são freqüentemente relacionados à implantação de teste.Quando um teste é implantado, o arquivo que contém o é copiado para outra pasta, para um local no computador local ou em um computador remoto.
Para testes de unidade, por exemplo, o arquivo .dll que foi compilado de projeto de teste é o arquivo que deve ser implantado.Se este arquivo binário não pode ser implementado, todos os testes de unidade que contém são marcados como falhados imediatamente na janela de resultados de teste quando você executa o.
Para corrigir este erro, verifique se os arquivos estão disponíveis em seu computador local e que houver nenhum erro de compilação da última vez que você reconstruiu os binários de teste.
Não somente os arquivos binários podem ser implantados.Você pode especificar que um arquivo específico, como um arquivo de dados, é necessário por um teste e portanto deve ser implantado com o teste.Em tempo de implantação, se este arquivo não pode ser localizado porque foi movido ou excluído, o teste não pode executar corretamente e ocorre um erro.Consulte também Detalhes pelo tipo de teste para obter informações sobre este erro em relação a testes genéricos.
Investigar para este erro, primeiro observe os arquivos e pastas especificados na página de implantação da caixa de diálogo usada para editar configurações de teste.Para mais informações, consulte Especificando configurações de teste do Visual Studio.Verifique em esses arquivos e pastas no disco para certificar-se de que estão presentes e seus nomes são idênticos.
Sua solução pode ter vários arquivos de configurações de teste.Se esse for o caso, certifique-se de que você revise as configurações de teste que foi ativa quando o teste de erro ocorreu.Para determinar quais configurações de teste estão ativos, examine a página de detalhes de ensaio para esse ensaio.
Para obter mais informações sobre arquivos ativos de configurações de teste, consulte Como: selecionar as configurações de teste ativo do Microsoft Visual Studio.
Erros de resultados de teste de remoto de relatório
Quando você executar testes remotamente, os resultados do teste não podem exibir.Este erro provavelmente está relacionado a natureza de ensaio remoto.
Como resultados de teste de ensaios locais, os resultados de são-lhe relatados remoto é executado localmente.O relatório de certos resultados de teste remotos depende da capacidade do Visual Studio, ou final de prêmio do Visual Studio de copiar arquivos gerados de resultados de teste do computador remoto de teste para seu computador local.
Se você encontrar erros que ocorrem com resultados de teste remotos, iniciar determinando se a conexão de rede entre o computador remoto e o computador no qual você estiver executando Visual Studio foi interrompida.
Para mais informações, consulte Configurando as máquinas de teste para executar testes ou coletar dados.
Erros de instrumentação
Para ativar o relatório da tinta, os arquivos binários que são testados devem ser implantado em providos e os testes antes que eles sejam executados em eles.
Uma falha instrumentar o arquivo binário faz com que o relatório de tinta de código falhar.Depois que o ensaio terminar, a página de detalhes de ensaio exibe uma mensagem de erro que os estados de código que a tinta não podem ser reportado, e também indica a causa.
Possíveis causas para que uma falha proveja um arquivo binário no local é que está marcado como somente leitura ou ele está sendo usado por outro processo.Para corrigir o erro de um arquivo binário somente leitura, examine primeiro atributos de arquivo binário para certificar-se que se pode escrever a.Para saber quais arquivos binários a verificação, abra a página de tinta de código de configurações ativas de teste; aqui é que você especificou arquivos para a instrumentação.Para mais informações, consulte Como: obter dados de cobertura de código.
Outra causa da falha de tinta de código para usar a instrumentação no lugar pode ocorrer quando você estiver usando um ou mais testes de unidade juntamente com um teste manual.Durante o teste manual, ele executa o código de produção que está sendo testado.Se o testador pressione F5 ou CTRL + f5 para iniciar ou depurar o código, o arquivo executável do projeto está reconstruído, que remove a instrumentação.
Além de isso, certifique-se de que nenhum outro processo está usando o arquivo binário.Por exemplo, certifique-se de que você não tem o arquivo aberto em outra instância de Visual Studio.
Para instrumentar Assemblies de nomes fortes, você pode localizar outros erros relacionados à assinatura do assembly.Para mais informações, consulte Instrumentação e renovando a assinatura de Assemblies.
Usando o AnyCPU configurações de compilação para obter dados de tinta de código
Você pode obter dados de tinta de código somente quando você testar o código em assemblies de 32 bits.Para garantir essa condição, definir uma propriedade de compilação específico:
Para projetos C#, defina o destino de plataforma para x86.Para mais informações, consulte Compilação de página, Designer de projeto (C#).
Para projetos Visual Basic, defina a CPU de destino para x86.Para mais informações, consulte Compilar página Project Designer (Visual Basic).
Observação |
---|
Este aviso não se aplica a projetos C++ AnyCPU porque não é uma opção de plataforma para projetos C++. |
Se você compilar o projeto com o valor de AnyCPU, os testes que são executados nos dados de tinta resultantes de código do assembly, mas o ensaio também geram um aviso.Você pode ver o texto de aviso na página de detalhes de ensaio:
VSP2013 de aviso: Instrumentar esta imagem exige-a executar como um processo de 32 bits. Os sinalizadores de cabeçalho CLR foram atualizados para refletir isso.
Este aviso significa que o assembly foi recompilado com a propriedade x aplicada para obtendo dados de tinta de código durante este ensaio.Para evitar esse aviso, compilar todo o assembly que você desejar dados de tinta de código com a configuração x.
Observação |
---|
Se seu aplicativo é executado em significado de 32 bits e em computadores de 64 bits, lembre-se recompilar-lo que usa a configuração de AnyCPU após testar terminado. |
Os testes de unidade em execução podem bloquear o assembly de teste de energia AC ++/CLI
Você pode encontrar uma situação em que o mecanismo de execução de teste abre e bloquear um assembly em seu projeto de teste.Quando isso acontece, você não pode, por exemplo, salvar as alterações para o assembly.Esse problema pode ocorrer nas seguintes situações:
Caso 1: Você desativou a implantação de seu projeto de teste, TestProjectA.TestProjectA foi compilado em C++/CLI.O código dentro de TestProjectA define uma classe de atributos, e esse atributo adorna pelo menos um dos métodos de teste em TestProjectA.Em este ponto, quando você executar testes de unidade em TestProjectA, o mecanismo de execução de teste e abre TestProjectA.DLL pode deixar em um estado bloqueado.
Caso 2: Seu projeto de teste, TestProject1, contém uma DLL que é compilada de um segundo projeto de teste, TestProject2.TestProject2 foi compilado em C++/CLI.O código dentro de TestProject2 define uma classe de atributos, e esse atributo adorna pelo menos um dos métodos de teste em TestProject2.Agora, quando você executar testes de unidade em TestProject1, o mecanismo de execução de teste e abre TestProject2.DLL pode deixar em um estado bloqueado.
Em ambos os casos, o solution pode ter duas partes.Primeiro, execute as seguintes etapas.
No menu Tools, selecione Options.
A caixa de diálogo Options abrirá.
Expanda ferramentas de teste e escolha Execução de teste.
Em Desempenho, desmarque a caixa de seleção para Manter a execução do mecanismo de execução de teste entre ensaios.
Depois que você concluir essas etapas, se o problema persistir, faça o seguinte:
Altere o código para que o projeto de teste que foi compilado em C++/CLI não precisa ser carregado em Appdomain padrão.Uma maneira de fazer isso é mover as definições de atributos personalizados que você usa em um conjunto separado que é implementado em C#.
Detalhes pelo tipo de teste
Alguns erros ocorrem com freqüência ou primeiro quando você executar tipos específicos de teste, como descrito em esta seção.
Testando ordenados.Erros que são ordenados testes encontrados com freqüência envolvem a implantação do arquivo.Antes que o mecanismo de teste pode executar um teste ordenada, deve atender e implantar em todos os arquivos de teste para todos os testes contidos, além de todos os arquivos necessários restantes.A falha fazer isso para alguns dos testes individuais causaria um erro.
Testando genéricos.Erros de implantação também podem ocorrer quando você executar testes genéricos.Você pode especificar os arquivos a serem implantados em duas maneiras para teste genéricos: na página de implantação de configurações de teste e, na página de teste genérico própria de design.O teste pode falhar se você negligencia listar todos os arquivos necessários ou se os arquivos não podem ser encontrados em locais você especificado.
Essas duas maneiras diferentes para implantar arquivos fazem com que os erros apareçam em diferentes níveis.Se o erro de implantação ele se relaciona com um arquivo especificado na página genérica de criação de teste, o erro surgirá a nível de teste.Se o erro de implantação ele se relaciona com um arquivo especificado nas configurações de teste, o erro surgirá a nível de execução.
Consulte também
Tarefas
Como: testes de força para parar sua execução após um período de tempo especificado