Extensão VSTest Bridge
Esta extensão fornece uma camada de compatibilidade com o VSTest permitindo que as estruturas de teste que dependem dele continuem a suportar a execução no modo VSTest (vstest.console.exe
, dotnet test
usual, VSTest task
no AzDo, Test Explorers of Visual Studio e Visual Studio Code...). Esta extensão é fornecida como parte de pacote Microsoft.Testing.Extensions.VSTestBridge.
Compatibilidade com VSTest
O principal objetivo desta extensão é oferecer uma experiência de atualização fácil e suave para os usuários VSTest, permitindo um modo duplo onde a nova plataforma é habilitada e, em paralelo, um modo de compatibilidade é oferecido para permitir que os fluxos de trabalho habituais continuem funcionando.
Suporte às Configurações de Execução
Esta extensão permite que você forneça um VSTest .runsettings arquivo, mas nem todas as opções neste arquivo são captadas pela plataforma. Descrevemos abaixo as configurações, opções de configuração e alternativas suportadas e não suportadas para as opções de configuração VSTest mais usadas.
Quando habilitado pela estrutura de teste, você pode usar --settings <SETTINGS_FILE>
para fornecer o arquivo .runsettings
.
Elemento RunConfiguration
Os seguintes elementos RunConfiguration não são suportados pelo Microsoft.Testing.Platform
:
Nó | Descrição | Justificaçã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 é descarregada para MSBuild. Quando um único executável é executado, essa opção não tem significado para Microsoft.Testing.Platform. |
DiretórioDeResultados | O diretório onde os resultados do teste são colocados. O caminho é relativo ao diretório que contém o arquivo de .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. | Esta opção é ignorada. As propriedades <TargetFramework> ou <TargetFrameworks> MSBuild determinam a estrutura de destino do aplicativo. Os testes são alojados na aplicação final. |
TargetPlatform | Essa configuração define a arquitetura a ser usada para executar testes. |
<RuntimeIdentifier> determina a arquitetura do aplicativo final que hospeda os testes. |
TreatTestAdapterErrorsAsWarnings | Suprime erros do adaptador de teste para os converter em avisos. | Microsoft.Testing.Platform permite a execução de apenas um tipo de teste a partir de um único assembly, e falhas ao carregar o framework de teste ou outras partes da infraestrutura se tornarão um erro inevitável, porque significa que alguns testes não puderam ser descobertos ou executados. |
TestAdaptersPaths | Um ou mais caminhos para o diretório onde 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 elas façam parte da compilação e sejam registradas em Program.cs , automaticamente por meio de destinos de compilação ou manualmente. |
TestCaseFilter | Um filtro para limitar os testes que serão executados. | A partir da v1.6, esta entrada runsettings é agora suportada. Antes desta versão, deve-se usar a opção de linha de comando --filter . |
TesteTempoExpiracaoSessao | Permite que os usuários encerrem uma sessão de teste quando ela exceder um determinado tempo limite. | Não há outra opção. |
DotnetHostPath | Especifique um caminho personalizado para o host dotnet que é usado para executar o host de teste. | Microsoft.Testing.Platform não está realizando qualquer resolução adicional de dotnet. Depende totalmente de como o dotnet se resolve, o que pode ser controlado 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 errará por padrão quando nenhum teste for descoberto ou executado em um aplicativo de teste. Você pode definir quantos testes espera encontrar no assembly usando --minimum-expected-tests parâmetro de linha de comando, cujo padrão é 1. |
Elemento Coletores de Dados
Microsoft.Testing.Platform
não está usando coletores de dados. Em vez disso, tem o conceito de extensões dentro e fora do processo. Cada extensão é configurada pelo seu respetivo arquivo de configuração ou através da linha de comando.
Mais importante ainda, travar e falha extensão e cobertura de código extensão.
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 ao filtro VSTest
Esta extensão também oferece a capacidade de usar o mecanismo de filtragem VSTest para descobrir ou executar apenas 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 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>
.
Parâmetros TestRun
Você pode passar parâmetros para a execução de teste usando a opção de linha de comando --test-parameters
no formato key=value
. Esta opção pode ser especificada várias vezes, uma para cada parâmetro a definir.
Esses parâmetros podem ser acessados pela estrutura de teste na execução do teste:
- para MSTest, utilizar Properties
- para NUnit, use TestContext.TestParameters