Microsoft. Informazioni di riferimento sulle opzioni dell'interfaccia della riga di comando di Testing.Platform (MTP)

Questo articolo fornisce un punto di ingresso centrale per le opzioni della riga di comando MTP.

Importante

Le opzioni della piattaforma sono disponibili da MTP stesso. Le opzioni di estensione sono disponibili solo quando ogni applicazione di test di destinazione registra il pacchetto di estensione che li fornisce. Aggiungere direttamente il pacchetto oppure usare una configurazione o un profilo dell'SDK di test che lo include. Se un'applicazione di test non registra l'estensione, l'esecuzione non riesce con il codice di uscita 5 perché l'opzione non è riconosciuta.

Opzioni della piattaforma

  • @

    Specifica il nome del file di risposta. Il nome del file di risposta deve seguire immediatamente il @ carattere senza spazi vuoti tra il @ carattere e il nome del file di risposta.

    Le opzioni in un file di risposta vengono interpretate come se fossero presenti in tale posizione nella riga di comando. Non è possibile usare il carattere barra rovesciata \ per concatenare le righe. L'uso di un file di risposta consente di eseguire comandi molto lunghi che potrebbero superare i limiti del terminale. È possibile combinare un file di risposta con argomenti della riga di comando inline. Per esempio:

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

    dove filter.rsp può avere il contenuto seguente:

    --filter "A very long filter"
    

    In alternativa, è possibile usare un singolo file rsp per specificare sia il timeout che il filtro come indicato di seguito:

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

    Annotazioni

    Quando si usa dotnet test, il parser della riga di comando dell'SDK usa un approccio token per riga in cui ogni riga nel file di risposta viene considerata come un singolo token. In tal caso, ogni argomento deve trovarsi in una riga separata:

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

    Specifica un file testconfig.json.

  • --debug

    Sospende l'esecuzione del test all'avvio in modo da poter collegare un debugger al processo di test. Equivale a impostare la TESTINGPLATFORM_WAIT_ATTACH_DEBUGGERvariabile di ambiente su 1. Non supportato nelle piattaforme browser.

    Annotazioni

    Questa opzione è disponibile in MTP a partire dalla versione 1.9.0. Sostituisce l'opzione precedente --debug-wait-attach (introdotta in MTP 1.6.0), il nome precedente è stato rimosso e non deve più essere usato.

  • --diagnostic

    Abilita la registrazione diagnostica. Il livello di log predefinito è Trace. Per ogni origine di test, MTP scrive <asm>_<tfm>_<arch>_<timestamp>.diag. Se un timestamp coincide, MTP aggiunge un suffisso con l’ID del processo e un contatore invece di sovrascrivere il file esistente.

  • --diagnostic-synchronous-write

    Forza il logger di file predefinito a scrivere i log in modo sincrono. Utile per le situazioni in cui non si vogliono perdere registrazioni di log (se il processo si arresta in modo anomalo). Ciò rallenta l'esecuzione del test.

    Annotazioni

    Disponibile in MTP a partire dalla versione 2.0.0. Sostituisce l'opzione precedente --diagnostic-filelogger-synchronouswrite , rimossa in MTP 2.0.0.

  • --diagnostic-output-directory

    La directory di output per la registrazione diagnostica, se non specificata, è generata nella directory predefinita TestResults.

  • --diagnostic-file-prefix

    Prefisso per il nome del file di log. Il valore predefinito è <asm>_<tfm>_<arch>.

    Annotazioni

    Disponibile in MTP a partire dalla versione 2.0.0. Sostituisce l'opzione precedente --diagnostic-output-fileprefix , rimossa in MTP 2.0.0.

  • --diagnostic-verbosity

    Definisce il livello di verbosità quando viene utilizzato l'interruttore --diagnostic. I valori disponibili sono Trace, Debug, Information, Warning, Erroro Critical.

  • --enable-dynamic-extensions

    Consente di caricare le estensioni dichiarate nei file manifesto *.testingplatformextensions.json presenti accanto all'applicazione di test. Le estensioni dinamiche sono disabilitate per impostazione predefinita. Per i requisiti di sicurezza e lo schema del manifesto, vedere Caricare le estensioni in modo dinamico.

    Annotazioni

    Questa opzione è disponibile in MTP a partire dalla versione 2.4.0.

  • --exit-on-process-exit

    Uscire dal processo di test se il processo dipendente esce. È necessario specificare il PID.

  • --filter-uid

    Filtra i test da eseguire in base agli UID dei nodi di test. Accetta uno o più UID.

    Annotazioni

    Questa opzione è disponibile in MTP a partire dalla versione 1.8.0. A partire da MTP 2.3.0, non è possibile combinare --filter-uid con --treenode-filter. Se si specificano entrambi, la convalida della riga di comando non riesce con il InvalidCommandLine codice di uscita.

  • --help

    Stampa una descrizione di come usare il comando .

  • --ignore-exit-code

    Consente di ignorare alcuni codici di uscita diversi da zero e restituiti come 0. Per altre informazioni, vedere Ignorare i codici di uscita specifici.

  • --info

    Visualizza informazioni avanzate sull'applicazione di test .NET, ad esempio:

    • La piattaforma.
    • Ambiente.
    • Ogni provider registrato della riga di comando, come name, version, descriptione options.
    • Ogni strumento registrato, come il relativo command, name, version, descriptione tutti i provider della riga di comando.

    Questa funzionalità viene usata per comprendere le estensioni che registrano la stessa opzione della riga di comando o le modifiche nelle opzioni disponibili tra più versioni di un'estensione (o la piattaforma).

  • --list-tests

    Elenca i test disponibili senza eseguirli. Facoltativamente accetta un argomento che controlla il formato di output: text (impostazione predefinita, leggibile dall'utente) o json.

    Annotazioni

    Il json formato di output è disponibile in MTP a partire dalla versione 2.3.0.

  • --maximum-failed-tests

    Specifica il numero massimo di errori di test che, quando raggiunto, arresterà l'esecuzione del test. Il supporto per questa opzione richiede agli autori del framework di implementare la funzionalità di IGracefulStopTestExecutionCapability. Il codice di uscita quando raggiunge tale quantità di errori di test è 13. Per altre informazioni, vedere Codici di uscita MTP.

    Annotazioni

    Questa funzionalità è disponibile in MTP a partire dalla versione 1.5.

  • --minimum-expected-tests

    Specifica il numero minimo di test da eseguire. Quando l'esecuzione esegue un minor numero di test, incluso zero, viene chiusa con il codice 9. Un minimo esplicito ha la precedenza su --zero-tests-policy.

  • --no-banner

    Disabilita il banner di avvio, il messaggio di copyright e il banner di telemetria. Lo stesso effetto può essere ottenuto tramite le TESTINGPLATFORM_NOBANNERDOTNET_NOLOGO o .

  • --results-directory

    Directory in cui verranno inseriti i risultati del test. Se la directory specificata non esiste, viene creata. Il valore predefinito è TestResults nella directory che contiene l'applicazione di test.

  • --server

    Avvia l'applicazione di test in JSON-RPC modalità server per l'integrazione degli editor, dell'IDE o degli strumenti. Omettere il valore o usare jsonrpc. Per un client di sola origine supportato, vedere Modalità server MTP.

    Importante

    Il dotnettestcli valore e i relativi argomenti di trasporto sono interni all'integrazione di .NET SDK. Non passarli manualmente.

  • --show-slowest-tests

    Mostra il numero richiesto di test più lenti nel riepilogo del terminale. Quando un'esecuzione contiene più moduli di test, MTP segnala i test più lenti per ogni modulo.

    Annotazioni

    Questa opzione è disponibile in MTP a partire dalla versione 2.4.0.

  • --timeout

    Timeout globale di esecuzione del test. Accetta un argomento come stringa nel formato <value>[h|m|s] in cui <value> è di tipo float.

  • --treenode-filter

    Filtra i test da eseguire usando un'espressione di filtro albero. I filtri ad albero offrono una corrispondenza più completa rispetto --filter agli scenari avanzati.

    Annotazioni

    A partire da MTP 2.3.0, non è possibile combinare --treenode-filter con --filter-uid. Se si specificano entrambi, la convalida della riga di comando non riesce con il InvalidCommandLine codice di uscita.

  • --zero-tests-policy

    Controlla se un'esecuzione che non esegue alcun test perché ogni test è stato ignorato viene considerato come un errore. I valori validi sono allow-skipped (impostazione predefinita) e strict. Con allow-skipped, un'esecuzione all-skipped ha esito positivo. Con strict, l'operazione ha esito negativo con il codice 8di uscita . Un valore esplicito --minimum-expected-tests sostituisce questo criterio e usa il codice 9 di uscita quando il valore minimo non viene soddisfatto.

    Annotazioni

    Questa opzione è disponibile in MTP a partire dalla versione 2.3.0.

Opzioni di estensione per scenario

Usare la tabella seguente per trovare il pacchetto e le opzioni di ogni estensione. Un profilo SDK di test può fornire un pacchetto anziché un riferimento diretto al pacchetto.

Scenario Componente obbligatorio Documentazione delle funzionalità
Raccogliere copertura del codice Microsoft.Testing.Extensions.CodeCoverage oppure coverlet.MTP Copertura del codice
Raccogliere dump di crash o blocco Microsoft.Testing.Extensions.CrashDump oppure Microsoft.Testing.Extensions.HangDump Arresti anomali e dump di blocco
Generare report di test Pacchetto di estensione per il formato selezionato, ad esempio Microsoft.Testing.Extensions.TrxReport Report di prova
Personalizzare l'output del terminale Core MTP (nessun pacchetto aggiuntivo) Output del terminale
Ripetere i test non superati Microsoft.Testing.Extensions.Retry riprovare

Individuare le opzioni nell'app di test

Eseguire il file eseguibile di test con --helpo eseguire dotnet test --help in modalità MTP per elencare le opzioni disponibili per il set di estensioni corrente.

Per eseguire la diagnostica avanzata dei provider e delle opzioni registrate, utilizzare --info.

Vedere anche