Microsoft.Testing.Platform (MTP) referência de opções da interface de linha de comando (CLI)

Este artigo fornece um ponto de entrada central para opções de linha de comando MTP.

Importante

As opções de plataforma estão disponíveis no próprio MTP. As opções de extensão só estão disponíveis quando cada aplicativo de teste de destino registra o pacote de extensão que as fornece. Adicione o pacote diretamente ou use uma configuração ou perfil do SDK de teste que o inclua. Se um aplicativo de teste não registrar a extensão, a execução falhará com o código de saída 5 porque a opção não é reconhecida.

Opções de plataforma

  • @

    Especifica o nome do arquivo de resposta. O nome do arquivo de resposta deve seguir imediatamente o @ caractere sem espaço em branco entre o @ caractere e o nome do arquivo de resposta.

    As opções em um arquivo de resposta são interpretadas como se estivessem presentes naquele lugar na linha de comando. Você não pode usar o caractere de barra invertida \ para concatenar linhas. O uso de um arquivo de resposta ajuda para comandos muito longos que podem exceder os limites de terminal. Você pode combinar um arquivo de resposta com argumentos de linha de comando embutidos. Por exemplo:

    ./TestExecutable.exe @"filter.rsp" --timeout 10s
    

    em que filter.rsp pode ter o seguinte conteúdo:

    --filter "A very long filter"
    

    Ou um único arquivo rsp pode ser usado para especificar o tempo limite e o filtro da seguinte maneira:

    ./TestExecutable.exe @"arguments.rsp"
    
    --filter "A very long filter" --timeout 10s
    

    Observação

    Ao usar dotnet test, o analisador de linha de comando do SDK usa uma abordagem token por linha em que cada linha no arquivo de resposta é tratada como um único token. Nesse caso, cada argumento deve estar em uma linha separada:

    --filter
    A very long filter
    --timeout
    10s
    
  • --config-file

    Especifica um arquivo testconfig.json.

  • --debug

    Pausa a execução do teste na inicialização para que você possa anexar um depurador ao processo de teste. Equivalente a configurar a TESTINGPLATFORM_WAIT_ATTACH_DEBUGGERvariável de ambiente como 1. Não há suporte em plataformas de navegador.

    Observação

    Essa opção está disponível no MTP a partir da versão 1.9.0. Ele substitui a opção anterior --debug-wait-attach (introduzida no MTP 1.6.0); o nome antigo foi removido e não deve mais ser usado.

  • --diagnostic

    Habilita o log de diagnóstico. O nível de log padrão é Trace. Para cada fonte de teste, o MTP grava <asm>_<tfm>_<arch>_<timestamp>.diag. Se houver conflito de carimbo de data e hora, o MTP adiciona um sufixo de processo e contador em vez de substituir o arquivo existente.

  • --diagnostic-synchronous-write

    Força o logger de arquivos embutido a gravar logs de forma síncrona. Útil para cenários em que você não deseja perder nenhuma entrada de log (se o processo falhar). Isso reduz a velocidade da execução do teste.

    Observação

    Disponível no MTP a partir da versão 2.0.0. Ele substitui a opção anterior --diagnostic-filelogger-synchronouswrite , que foi removida no MTP 2.0.0.

  • --diagnostic-output-directory

    O diretório de saída do log de diagnóstico, se não for especificado, o arquivo será gerado no diretório padrão TestResults.

  • --diagnostic-file-prefix

    O prefixo do nome do arquivo de log. O padrão é <asm>_<tfm>_<arch>.

    Observação

    Disponível no MTP a partir da versão 2.0.0. Ele substitui a opção anterior --diagnostic-output-fileprefix , que foi removida no MTP 2.0.0.

  • --diagnostic-verbosity

    Define o nível de detalhamento quando a opção --diagnostic é usada. Os valores disponíveis são Trace, Debug, Information, Warning, Errorou Critical.

  • --enable-dynamic-extensions

    Permite carregar extensões declaradas em arquivos de manifesto *.testingplatformextensions.json junto ao aplicativo de teste. As extensões dinâmicas são desabilitadas por padrão. Para ver os requisitos de segurança e o esquema do manifesto, consulte Carregar extensões dinamicamente.

    Observação

    Essa opção está disponível no MTP a partir da versão 2.4.0.

  • --exit-on-process-exit

    Saia do processo de teste quando o processo dependente for encerrado. O PID deve ser fornecido.

  • --filter-uid

    Filtra os testes a serem executados pelos UIDs de nó de teste. Aceita um ou mais UIDs.

    Observação

    Essa opção está disponível no MTP a partir da versão 1.8.0. A partir do MTP 2.3.0, não é possível combinar --filter-uid com --treenode-filter; especificar ambos faz com que a validação da linha de comando falhe com o código de saída InvalidCommandLine.

  • --help

    Imprime uma descrição de como usar o comando.

  • --ignore-exit-code

    Permite que alguns códigos de saída diferentes de zero sejam ignorados e, em vez disso, retornados como 0. Para obter mais informações, consulte Ignorar códigos de saída específicos.

  • --info

    Exibe informações avançadas sobre o aplicativo de teste .NET, como:

    • A plataforma.
    • O ambiente.
    • Cada provedor de linha de comando registrado, como name, version, description e options.
    • Cada ferramenta registrada, como command, name, version e description, e todos os provedores de linha de comando.

    Este recurso é usado para entender as extensões que estariam registrando a mesma opção de linha de comando ou as alterações nas opções disponíveis entre várias versões de uma extensão (ou da plataforma).

  • --list-tests

    Lista os testes disponíveis sem executá-los. Opcionalmente, usa um argumento que controla o formato de saída: text (padrão, legível por humanos) ou json.

    Observação

    O json formato de saída está disponível no MTP a partir da versão 2.3.0.

  • --maximum-failed-tests

    Especifica o número máximo de falhas de testes que, quando atingidas, interromperão a execução do teste. O suporte para essa opção requer que os autores do framework implementem a funcionalidade IGracefulStopTestExecutionCapability. O código de saída ao atingir essa quantidade de falhas de teste é 13. Para obter mais informações, consulte os códigos de saída do MTP.

    Observação

    Esse recurso está disponível no MTP a partir da versão 1.5.

  • --minimum-expected-tests

    Especifica um número mínimo positivo de testes que devem ser executados. Quando a execução executa menos testes, incluindo zero, ela sai com código 9. Um mínimo explícito prevalece sobre --zero-tests-policy.

    Com dotnet test, essa opção se aplica a toda a execução quando ela é especificada antes --e a cada módulo de teste quando é especificado após --. Para obter mais informações, consulte os mínimos de execução inteira e por módulo.

    Observação

    --minimum-expected-tests 0 é inválido. Para suprimir o código de saída quando não houver testes, use --ignore-exit-code 8.

  • --no-banner

    Desabilita o banner de inicialização, a mensagem de copyright e o banner de telemetria. O mesmo efeito pode ser obtido por meio do TESTINGPLATFORM_NOBANNER ou das DOTNET_NOLOGOvariáveis de ambiente.

  • --results-directory

    O diretório em que os resultados de 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.

  • --server

    Inicia o aplicativo de teste no modo de servidor JSON-RPC para editor, IDE ou integração de ferramentas. Omita o valor ou use jsonrpc. Para um cliente compatível apenas com origem, consulte o modo de servidor MTP.

    Importante

    O dotnettestcli valor e seus argumentos de transporte são internos para a integração do SDK .NET. Não os passe manualmente.

  • --show-slowest-tests

    Exibe o número solicitado dos testes mais lentos no resumo do terminal. Quando uma execução contém vários módulos de teste, o MTP relata os testes mais lentos para cada módulo.

    Observação

    Essa opção está disponível no MTP a partir da versão 2.4.0.

  • --timeout

    Um tempo limite global de execução de teste. Usa um argumento como string no formato <value>[h|m|s], em que <value> é flutuante.

  • --treenode-filter

    Filtra os testes a serem executados usando uma expressão de filtro de árvore. Os filtros de árvore oferecem correspondências mais avançadas do que --filter para cenários avançados.

    Observação

    A partir do MTP 2.3.0, não é possível combinar --treenode-filter com --filter-uid; especificar ambos faz com que a validação da linha de comando falhe com o código de saída InvalidCommandLine.

  • --zero-tests-policy

    Controla se uma execução que não executa nenhum teste porque cada teste foi ignorado é tratada como uma falha. Os valores válidos são allow-skipped (padrão) e strict. Com allow-skipped, uma execução com todas as etapas ignoradas é bem-sucedida. Com strict, ele falha com o código de saída 8. Um valor explícito --minimum-expected-tests substitui essa política e usa o código 9 de saída quando o mínimo não é atendido.

    Observação

    Essa opção está disponível no MTP a partir da versão 4.3.0. Com dotnet test, passe a opção depois de -- para encaminhá-la a cada módulo de teste. Quando você não define um valor mínimo global, o SDK do .NET 11 determina separadamente o resultado de zero testes da execução completa. Para obter mais informações, consulte os mínimos de execução inteira e por módulo.

Opções de extensão por cenário

Use a tabela a seguir para localizar o pacote e as opções de cada extensão. Um perfil de SDK de teste pode fornecer um pacote em vez de uma referência de pacote direto.

Scenario Componente necessário Documentação da funcionalidade
Coletar cobertura de código Microsoft.Testing.Extensions.CodeCoverage ou coverlet.MTP Cobertura de código
Coletar despejos de falha ou travamento Microsoft.Testing.Extensions.CrashDump ou Microsoft.Testing.Extensions.HangDump Despejos de falhas e travamentos
Gerar relatórios de teste O pacote de extensão para o formato selecionado, como Microsoft.Testing.Extensions.TrxReport Relatórios de teste
Personalizar a saída do terminal Núcleo MTP (sem pacote adicional) Saída do terminal
Repetir testes com falha Microsoft.Testing.Extensions.Retry Tentar novamente

Descobrir opções em seu aplicativo de teste

Execute o executável de teste com --help, ou execute dotnet test --help no modo MTP, para listar as opções disponíveis para o conjunto de extensão atual.

Para diagnóstico avançado de provedores e opções registrados, execute com --info.

Consulte também