Compartilhar via


Extensão de Ponte VSTest

Essa extensão fornece uma camada de compatibilidade com o VSTest, permitindo que as estruturas de teste que dependem dela continuem dando suporte à execução no modo VSTest (vstest.console.exe, dotnet test usual, VSTest task no AzDo, Exploradores de Teste do Visual Studio e Visual Studio Code...). Essa extensão é enviada como parte do pacote Microsoft.Testing.Extensions.VSTestBridge.

Compatibilidade com o VSTest

A principal finalidade dessa extensão é oferecer uma experiência de atualização fácil e suave para os usuários do VSTest, permitindo um modo duplo em que a nova plataforma está habilitada e, em paralelo, um modo de compatibilidade é oferecido para permitir que os fluxos de trabalho usuais continuem funcionando.

Suporte a runsettings

Essa extensão permite que você forneça um arquivo VSTest .runsettings, mas nem todas as opções nesse arquivo são selecionadas pela plataforma. Descrevemos abaixo as configurações compatíveis e sem suporte, opções de configuração e alternativas para as opções de configuração do VSTest mais usadas.

Quando habilitado pela estrutura de teste, você pode usar --settings <SETTINGS_FILE> para fornecer o arquivo .runsettings.

Elemento RunConfiguration

O elemento RunConfiguration pode incluir os seguintes elementos. Nenhuma dessas configurações é respeitada pelo Microsoft.Testing.Platform:

Descrição Razão/Solução alternativa
MaxCpuCount Essa configuração controla o nível de paralelismo no nível do processo. Use 0 para habilitar o paralelismo máximo no nível do processo. Quando Microsoft.Testing.Platform é usado com MSBuild, essa opção é transferida para MSBuild. Quando um único executável é executado, essa opção não tem significado para Microsoft.Testing.Platform.
ResultsDirectory O diretório no qual os resultados do teste são colocados. O caminho é relativo ao diretório que contém o arquivo .runsettings. Use a opção de linha de comando --results-directory para determinar o diretório onde os resultados do teste serão colocados. Se o diretório especificado não existir, ele será criado. O padrão é TestResults no diretório que contém o aplicativo de teste.
TargetFrameworkVersion Essa configuração define a versão da estrutura ou a família de estruturas a ser usada para executar testes. Essa opção é ignorada. As propriedades <TargetFramework> ou <TargetFrameworks> do MSBuild determinam a estrutura de destino do aplicativo. Os testes são hospedados no aplicativo final.
TargetPlatform Essa configuração define a arquitetura a ser usada na execução de testes. <RuntimeIdentifier> determina a arquitetura do aplicativo final que hospeda os testes.
TreatTestAdapterErrorsAsWarnings Suprime erros do adaptador de teste para se tornarem avisos. Microsoft.Testing.Platform permite que apenas um tipo de teste seja executado a partir de um único assembly, e a falha no carregamento da estrutura de teste ou de outras partes da infraestrutura se tornará um erro impossível de ignorar, porque significa que alguns testes não puderam ser descobertos ou correr.
TestAdaptersPaths Um ou mais caminhos para o diretório no qual os TestAdapters estão localizados Microsoft.Testing.Platform não usa o conceito de adaptadores de teste e não permite o carregamento dinâmico de extensões, a menos que façam parte do build e sejam registradas em Program.cs, automaticamente por meio de destinos de build ou manualmente.
TestCaseFilter Um filtro para limitar os testes que serão executados. Para filtrar testes, use a opção de linha de comando --filter.
TestSessionTimeout Permite que os usuários finalizem uma sessão de teste quando ele exceder o tempo limite determinado. Não há outra opção.
DotnetHostPath Especifique um caminho personalizado para o host dotnet usado para executar o testhost. Microsoft.Testing.Platform não está realizando nenhuma resolução adicional de dotnet. Depende totalmente de como a dotnet se resolve, que pode ser controlada por variáveis de ambiente, como DOTNET_HOST_PATH.
TreatNoTestsAsError Saia com código de saída diferente de zero quando nenhum teste for descoberto. Microsoft.Testing.Platform apresentará erro por padrão quando nenhum teste for descoberto ou executado em um aplicativo de teste. Você pode definir quantos testes você espera encontrar no assembly usando o parâmetro da linha de comando --minimum-expected-tests, que tem como padrão 1.

Elemento DataCollectors

Microsoft.Testing.Platform não está usando coletores de dados. Em vez disso, tem o conceito de extensões em processo e fora de processo. Cada extensão é configurada pelo respectivo arquivo de configuração ou através da linha de comando.

Mais importante ainda é a extensão hang e crash e a extensão code coverage.

Elemento LoggerRunSettings

Os registradores no Microsoft.Testing.Platform são configurados por meio de parâmetros de linha de comando ou por configurações no código.

Suporte para filtro de VSTest

Essa extensão também oferece a capacidade de usar o mecanismo de filtragem VSTest para descobrir ou executar somente os testes que correspondem à expressão de filtro. Para obter mais informações, consulte a seção Detalhes da opção de filtro ou, para obter detalhes específicos da estrutura, consulte a página Executando testes de unidade seletivos.

Quando habilitado pela estrutura de teste, você pode usar --filter <FILTER_EXPRESSION>.