Partilhar via


Configurar a arquitetura de processo para um teste de unidade

Este artigo fornece informações sobre a arquitetura de processo usada para executar testes de unidade, como definir a arquitetura de processo e como executar testes de unidade como um processo de 64 bits.

Este artigo fornece informações sobre como definir a arquitetura de processo para testes de unidade e como executar testes de unidade como um processo de 64 bits.

Configurar a arquitetura de processo para projetos MSTest

Para projetos MSTest usando Visual Studio Testing Platform (VSTest) como o executor de teste, a plataforma de destino padrão (arquitetura de processo) corresponde à arquitetura do sistema operacional. Você pode substituir esse comportamento para projetos definidos como Any CPU como plataforma alvo usando o Test Explorer Settings, conforme mostrado na ilustração a seguir, ou usando o menu de Testes Test.

Captura de tela mostrando o menu para selecionar a arquitetura do processador para AnyCPU.

No menu Teste, selecione Arquitetura do Processador para Projetos AnyCPU.

Para projetos que usam MSTest como o executor de teste em vez de VSTest, a arquitetura é determinada estritamente pelo MSBuild e regras de tempo de execução. Os executáveis são gerados com base na arquitetura preferencial especificada nas configurações de MSBuild/runtime. Você pode ajustar essa preferência usando propriedades do MSBuild (por exemplo, PreferNativeArm64), mas a configuração Arquitetura do processador para projetos AnyCPU não pode ser usada para alterar a arquitetura desses projetos.

Observação

Você pode definir o executor de teste quando você cria um projeto de teste de unidade usando o modelo de projeto MSTest ou usando propriedades MSBuild. Para obter mais informações sobre a diferença entre os executores de teste MSTest e VSTest, consulte a comparação de Microsoft.Testing.Platform e VSTest.

PreferNativeArm64 (MSTest)

Ao usar a propriedade PreferNativeArm64 MSBuild, o projeto prefere ser executado nativamente na arquitetura ARM64, se estiver disponível. Esta propriedade é aplicável a projetos que geram executáveis e seguem regras de tempo de execução do MSBuild. Essa configuração é ignorada para executores de teste do Visual Studio Test Platform (VSTest) e só se aplica a projetos MSTest com MSTest configurado como o executor de teste.

Executar um teste de unidade como um processo de 64 bits

Se você tiver uma máquina de 64 bits, poderá executar testes de unidade e capturar informações de cobertura de código como um processo de 64 bits.

Para executar um teste de unidade como um processo de 64 bits:

  1. Se o seu código ou testes foram compilados como 32 bits/x86, mas agora você deseja executá-los como um processo de 64 bits, recompile-os como qualquer CPU.

    Dica

    Para a máxima flexibilidade, compile os seus projetos de teste com a configuração Any CPU. Em seguida, você pode executar em agentes de 32 bits e 64 bits. Não há vantagem em compilar projetos de teste com a configuração de 64 bits, a menos que você esteja chamando código que só é suportado em 64 bits.

  2. Defina os testes de unidade para serem executados como um processo de 64 bits.

    No menu Visual Studio, escolha Teste, em seguida, escolha Processor Architecture for AnyCPU projects. Escolha x64 para executar os testes como um processo de 64 bits.

    - ou -

    Especifique <TargetPlatform>x64</TargetPlatform> num arquivo .runsettings de . Uma vantagem desse método é que você pode especificar grupos de configurações em arquivos diferentes e alternar rapidamente entre configurações diferentes. Você também pode copiar configurações entre soluções. Para obter mais informações, consulte Configurar testes de unidade usando um arquivo .runsettings.

    Observação

    A configuração Processor Architecture for AnyCPU projects não é suportada em um projeto MSTest se você definir MSTest como o executor de teste em vez de VSTest.