Referência das opções de CLI do Microsoft.Testing.Platform (MTP)

Este artigo apresenta um ponto de entrada central para as opções de linha de comandos do MTP.

Importante

As opções de plataforma estão disponíveis diretamente no MTP. As opções de extensão só estão disponíveis quando cada aplicação de teste alvo regista 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 uma aplicação de teste não registar a extensão, a execução falha com o código de saída 5 porque a opção não é reconhecida.

Opções da plataforma

  • @

    Especifica o nome do arquivo de resposta. O nome do ficheiro de resposta deve seguir imediatamente o @ carácter, sem espaço em branco entre o @ carácter e o nome do ficheiro de resposta.

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

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

    onde filter.rsp pode conter 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 parser de linha de comandos do SDK utiliza uma abordagem token por linha, onde cada linha no ficheiro de resposta é tratada como um único token. Nesse caso, cada argumento deve estar numa linha separada:

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

    Especifica um arquivo testconfig.json.

  • --debug

    Pausa a execução do teste no arranque para que possas ligar um depurador ao processo de teste. Equivalente a definir a TESTINGPLATFORM_WAIT_ATTACH_DEBUGGERvariável de ambiente para 1. Não é suportado em plataformas de navegador.

    Observação

    Esta opção está disponível no MTP a partir da versão 1.9.0. Substitui a opção anterior --debug-wait-attach (introduzida no MTP 1.6.0); o nome antigo foi removido e já não pode ser usado.

  • --diagnostic

    Permite registos de diagnóstico. O nível de log padrão é Trace. Para cada fonte de teste, o MTP escreve <asm>_<tfm>_<arch>_<timestamp>.diag. Se uma marca temporal coincidir, o MTP adiciona um sufixo com o processo e o contador em vez de sobrescrever o ficheiro existente.

  • --diagnostic-synchronous-write

    Força o registrador de arquivos interno 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). Isto atrasa a execução do teste.

    Observação

    Disponível em MTP a partir da versão 2.0.0. 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 é gerado no diretório TestResults padrão.

  • --diagnostic-file-prefix

    O prefixo do nome do ficheiro de log. A predefinição é <asm>_<tfm>_<arch>.

    Observação

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

  • --diagnostic-verbosity

    Defina 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 o carregamento de extensões declaradas pelos *.testingplatformextensions.json ficheiros manifest junto à aplicação de teste. As extensões dinâmicas estão desativadas por defeito. Para requisitos de segurança e o esquema manifesto, veja Carregar extensões dinamicamente.

    Observação

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

  • --exit-on-process-exit

    Saia do processo de teste se o processo associado for encerrado. PID deverá ser fornecido.

  • --filter-uid

    Filtra os testes a executar com base nos UIDs dos nós de teste. Aceita um ou mais UIDs.

    Observação

    Esta opção está disponível no MTP a partir da versão 1.8.0. A partir da versão 2.3.0 do MTP, não é possível combinar --filter-uid com --treenode-filter; especificar ambos faz falhar a validação da linha de comandos 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

    Apresenta informações avançadas sobre a Aplicação de Teste .NET, tais como:

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

    Esse 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 os executar. Opcionalmente, toma um argumento que controla o formato de saída: text (por defeito, legível por humanos) ou json.

    Observação

    O json formato de saída está disponível em 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 da estrutura implementem o recurso IGracefulStopTestExecutionCapability. O código de saída ao atingir essa quantidade de falhas de teste é 13. Para mais informações, consulte os códigos de saída do MTP.

    Observação

    Esta funcionalidade 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 realizados. Quando a execução executa menos testes, incluindo zero, sai com código 9. Um mínimo explícito substitui --zero-tests-policy.

    Com dotnet test, esta opção aplica-se a toda a execução quando é especificada antes --de , e a cada módulo de teste quando é especificada depois --de . Para mais informações, veja Mínimos de execução completa e por módulo.

    Observação

    --minimum-expected-tests 0 é inválido. Para suprimir o código de saída "zero-tests", use --ignore-exit-code 8.

  • --no-banner

    Desativa o banner de arranque, a mensagem de direitos de autor e o banner de telemetria. O mesmo efeito pode ser alcançado através das TESTINGPLATFORM_NOBANNERDOTNET_NOLOGO.

  • --results-directory

    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.

  • --server

    Inicia a aplicação de teste em modo JSON-RPC servidor para integração com editor, IDE ou ferramenta. Omita o valor ou usa jsonrpc. Para um cliente suportado apenas como origem, consulte modo de servidor MTP.

    Importante

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

  • --show-slowest-tests

    Mostra o número de testes mais lentos solicitados no resumo do terminal. Quando uma execução contém múltiplos módulos de teste, o MTP reporta os testes mais lentos para cada módulo.

    Observação

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

  • --timeout

    Tempo limite global para a execução de testes. Usa um argumento como cadeia de caracteres no formato <value>[h|m|s] onde <value> é flutuante.

  • --treenode-filter

    Filtra os testes a executar usando uma expressão de filtro em árvore. Os filtros de árvore oferecem uma correspondência mais rica do que --filter em cenários avançados.

    Observação

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

  • --zero-tests-policy

    Controla se uma execução que não executa testes porque todos os testes foram ignorados é tratada como falha. Os valores válidos são allow-skipped (por defeito) e strict. Com allow-skipped, uma sequência totalmente saltada tem sucesso. Com strict, falha com o código de saída 8. Um valor explícito --minimum-expected-tests sobrepõe-se a esta política e usa o código 9 de saída quando o mínimo não é atingido.

    Observação

    Esta opção está disponível no MTP a partir da versão 4.3.0. Com dotnet test, passe a opção após -- para a encaminhar para cada módulo de teste. Quando não define um mínimo global, o SDK .NET 11 determina em separado o resultado de zero testes para toda a execução. Para mais informações, veja Mínimos de execução completa e por módulo.

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

Use a tabela seguinte para encontrar 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 direta de pacote.

Scenario Componente obrigatório Documentação de funcionalidades
Coletar cobertura de código Microsoft.Testing.Extensions.CodeCoverage ou coverlet.MTP Cobertura do código
Colecionar despejos de crash e hang Microsoft.Testing.Extensions.CrashDump ou Microsoft.Testing.Extensions.HangDump Despejos de colisão e suspensão
Gerar relatórios de teste O pacote de extensão para o formato selecionado, tais como Microsoft.Testing.Extensions.TrxReport Relatórios de testes
Personalizar a saída do terminal Núcleo MTP (sem pacote adicional) Saída terminal
Repetir testes que falharam Microsoft.Testing.Extensions.Retry Repetir

Descobrir opções na sua aplicação de teste

Executa o teu executável de teste com --help, ou executa dotnet test --help em modo MTP, para listar as opções disponíveis para o teu conjunto atual de extensões.

Para executar diagnósticos avançados dos prestadores e das opções registados, utilize o comando --info.

Consulte também