Testes genéricos de solução de problemas
Ao executar testes genéricos, você talvez encontre o seguinte erro: A coleta de dados da cobertura de código não funciona quando você executa um teste genérico em uma plataforma 64 bits. Para resolver esse erro, use as informações na seção a seguir, Evitando a limitação de 32 bits.
Requisitos
- Visual Studio Ultimate, Visual Studio Premium
Evitando a limitação de 32 bits
A instrumentação de cobertura de código só funciona no modo 32 bits, e não no modo 64 bits. Isso porque um assembly só poderá ser carregado no modo 32 bits depois de ser instrumentado para a cobertura de código.
Dica
Nenhuma limitação assim se aplicará quando você executar testes de unidade em um computador 64 bits se você não estiver coletando dados de cobertura de código.Isso porque VSTestHost.exe, o mecanismo de teste que carrega a biblioteca de classes, é executado em um processo 32 bits.
Para um teste genérico, o aplicativo encapsulado é compilado em "Qualquer CPU" que, em um computador 64 bits, é executado como um processo 64 bits. Quando esse processo 64 bits tentar carregar um assembly de 32 bits, ocorrerá um erro. É possível resolver esse problema de uma das formas a seguir.
Use o método a seguir se o teste genérico encapsular diretamente o arquivo binário no qual o código de produção foi compilado:
- Alterar a configuração da solução para x86
Use qualquer um destes dois métodos se houver uma camada entre o teste genérico e o arquivo binário do código de produção. Ou seja, o teste genérico encapsula um aplicativo intermediário como um agente de teste. Esse agente de teste, por sua vez, executa o código de produção que você está testando.
- Alterar as configurações de compilação para o aplicativo que carrega o arquivo binário do código de produção
Alterar a configuração da solução para x86
Altere a configuração da solução de "Qualquer CPU" para "x86".
Para alterar a configuração da solução
Clique com o botão direito do mouse na solução e escolha Propriedades.
A caixa de diálogo Páginas de Propriedades de Solução é exibida.
Em Propriedades de Configuração, escolha Configuração.
Escolha Gerenciador de Configurações.
A caixa de diálogo Gerenciador de Configurações é exibida.
Em Plataforma da solução ativa, clique em Novo.
A caixa de diálogo Nova Plataforma de Solução é exibida.
Em Digite ou selecione a nova plataforma, escolha x86.
Na caixa de diálogo Nova Plataforma de Solução, escolha OK.
Na caixa de diálogo perguntando se você deseja salvar as alterações, escolha Sim.
Na caixa de diálogo Gerenciador de Configurações, em Plataforma da solução ativa, verifique se x86 está selecionado e escolha Fechar.
Na caixa de diálogo Páginas de Propriedades de Solução, escolha OK.
Alterar as configurações de compilação para o aplicativo que carrega o arquivo binário do código de produção
Use esse procedimento para instrumentar qualquer aplicativo intermediário ou agente de teste encapsulado pelo teste genérico. Esse aplicativo intermediário executa o código que você deseja testar.
Nesse procedimento, você altera as configurações do aplicativo intermediário para compilá-lo para a plataforma x86.
Dica
Você só poderá fazer isso se o aplicativo encapsulado for compilado com base em um projeto na solução.
Para alterar as configurações de compilação para o aplicativo encapsulado
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto com base no qual o aplicativo intermediário foi compilado e escolha Propriedades.
Isso exibe uma página de propriedades do projeto.
Escolha a guia Compilação.
Para o destino da plataforma, especifique x86.
No menu Arquivo, escolha Salvar Itens Selecionados.
Consulte também
Conceitos
Criando um teste automatizado que execute um executável usando testes genéricos