Microsoft. Testing.Platform (MTP)-CLI-Optionsreferenz

Dieser Artikel enthält einen zentralen Einstiegspunkt für MTP-Befehlszeilenoptionen.

Important

Plattformoptionen stehen von MTP selbst zur Verfügung. Erweiterungsoptionen sind nur verfügbar, wenn jede Zieltestanwendung das Erweiterungspaket registriert, das sie bereitstellt. Fügen Sie das Paket direkt hinzu, oder verwenden Sie eine Test-SDK-Konfiguration oder ein Profil, die es enthält. Wenn eine Testanwendung die Erweiterung nicht registriert, schlägt die Ausführung mit Dem Exitcode 5 fehl, da die Option nicht erkannt wird.

Plattformoptionen

  • @

    Gibt den Namen der Antwortdatei an. Der Name der Antwortdatei muss dem `@`-Zeichen, ohne Leerzeichen zwischen dem `@`-Zeichen und dem Namen der Antwortdatei, direkt folgen.

    Optionen in einer Antwortdatei werden so interpretiert, als ob sie an dieser Stelle in der Befehlszeile vorhanden wären. Sie können das umgekehrte Schrägstrichzeichen \ nicht verwenden, um Linien zu verketten. Die Verwendung einer Antwortdatei ist bei sehr langen Befehlen hilfreich, die die Terminalgrenzen überschreiten können. Sie können eine Antwortdatei mit Inline-Befehlszeilenargumenten kombinieren. Beispiel:

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

    wobei filter.rsp den folgenden Inhalt haben kann:

    --filter "A very long filter"
    

    Alternativ können Sie mit einer einzelnen RSP-Datei wie folgt sowohl Timeout als auch Filter angeben:

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

    Hinweis

    Bei Verwendung dotnet testdes SDK-Befehlszeilenparsers wird ein Token-pro-Line-Ansatz verwendet, bei dem jede Zeile in der Antwortdatei als einzelnes Token behandelt wird. In diesem Fall muss jedes Argument in einer separaten Zeile stehen:

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

    Gibt eine testconfig.json-Datei an.

  • --debug

    Hält die Testausführung beim Start an, damit Sie einen Debugger an den Testprozess anfügen können. Entspricht dem Festlegen der TESTINGPLATFORM_WAIT_ATTACH_DEBUGGERUmgebungsvariablen auf 1. Wird auf Browserplattformen nicht unterstützt.

    Hinweis

    Diese Option ist ab Version 1.9.0 in MTP verfügbar. Sie ersetzt die vorherige --debug-wait-attach Option (eingeführt in MTP 1.6.0); der alte Name wurde entfernt und darf nicht mehr verwendet werden.

  • --diagnostic

    Aktiviert die Diagnoseprotokollierung. Die Standardprotokollebene ist Trace. Für jede Testquelle schreibt MTP <asm>_<tfm>_<arch>_<timestamp>.diag. Wenn ein Zeitstempel kollidiert, fügt MTP einen Prozess- und Leistungsindikatorsuffix hinzu, anstatt die vorhandene Datei zu überschreiben.

  • --diagnostic-synchronous-write

    Zwingt den integrierten Dateilogger, Protokolle synchron zu schreiben. Nützlich für Szenarien, in denen keine Protokolleinträge verloren gehen sollen (bei Prozessabsturz). Dadurch wird die Testausführung verlangsamt.

    Hinweis

    Verfügbar in MTP ab Version 2.0.0. Sie ersetzt die vorherige --diagnostic-filelogger-synchronouswrite Option, die in MTP 2.0.0 entfernt wurde.

  • --diagnostic-output-directory

    Das Ausgabeverzeichnis der Diagnoseprotokollierung. Wird es nicht angegeben, wird die Datei im Standardverzeichnis TestResults generiert.

  • --diagnostic-file-prefix

    Das Präfix für den Namen der Protokolldatei. Der Standardwert lautet <asm>_<tfm>_<arch>.

    Hinweis

    Verfügbar in MTP ab Version 2.0.0. Sie ersetzt die vorherige --diagnostic-output-fileprefix Option, die in MTP 2.0.0 entfernt wurde.

  • --diagnostic-verbosity

    Definiert den Ausführlichkeitsgrad, wenn die Option --diagnostic verwendet wird. Verfügbare Werte sind Trace, Debug, Information, Warning, Error oder Critical.

  • --enable-dynamic-extensions

    Aktiviert das Laden von Erweiterungen, die von *.testingplatformextensions.json Manifestdateien neben der Testanwendung deklariert werden. Dynamische Erweiterungen sind standardmäßig deaktiviert. Sicherheitsanforderungen und das Manifestschema finden Sie unter "Dynamisches Laden von Erweiterungen".

    Hinweis

    Diese Option ist ab Version 2.4.0 in MTP verfügbar.

  • --exit-on-process-exit

    Beenden Sie den Testprozess, wenn ein abhängiger Prozess beendet wird. Die PID muss angegeben werden.

  • --filter-uid

    Filtert die auszuführenden Tests anhand ihrer Testknoten-UIDs. Akzeptiert eine oder mehrere UIDs.

    Hinweis

    Diese Option ist ab Version 1.8.0 in MTP verfügbar. Ab MTP 2.3.0 können Sie --filter-uid nicht mit --treenode-filter kombinieren; die Angabe beider Optionen führt bei der Befehlszeilenvalidierung zu einem Fehler mit dem Exitcode InvalidCommandLine.

  • --help

    Gibt eine Beschreibung zur Verwendung des Befehls aus.

  • --ignore-exit-code

    Erlaubt, dass einige Nicht-Null-Exitcodes ignoriert werden und stattdessen als 0 zurückgegeben werden. Weitere Informationen finden Sie im Abschnitt Ignorieren spezifischer Exitcodes.

  • --info

    Zeigt erweiterte Informationen zur .NET Testanwendung an, z. B.:

    • Die Plattform.
    • Zur Umgebung.
    • Jeder registrierte Kommandozeilenanbieter, wie z. B. name, version, description und options.
    • Jedes registrierte Tool, wie z. B. seine command, name, version, description und alle Kommandozeilen-Anbieter.

    Dieses Feature wird verwendet, um Erweiterungen zu verstehen, die dieselbe Befehlszeilenoption registrieren, oder um die Änderungen bei den verfügbaren Optionen zwischen mehreren Versionen einer Erweiterung (oder der Plattform) zu ermitteln.

  • --list-tests

    Listet die verfügbaren Tests auf, ohne sie auszuführen. Verwendet optional ein Argument, das das Ausgabeformat steuert: text (Standard, lesbar) oder json.

    Hinweis

    Das json Ausgabeformat ist ab Version 2.3.0 in MTP verfügbar.

  • --maximum-failed-tests

    Gibt die maximale Anzahl von Testfehlern an, bei deren Erreichen der Testlauf abgebrochen wird. Zur Unterstützung dieses Schalters müssen die Autoren des Frameworks die Funktionalität IGracefulStopTestExecutionCapability implementieren. Der Exit-Code bei Erreichen dieser Anzahl von Testfehlern ist 13. Weitere Informationen finden Sie unter MTP-Exitcodes.

    Hinweis

    Dieses Feature ist ab Version 1.5 in MTP verfügbar.

  • --minimum-expected-tests

    Gibt die Mindestanzahl der Tests an, die ausgeführt werden müssen. Wenn die Ausführung weniger Tests ausführt, einschließlich Null, wird sie mit Code 9beendet. Ein explizites Minimum ersetzt --zero-tests-policy.

  • --no-banner

    Deaktiviert das Startbanner, die Copyrightnachricht und das Telemetriebanner. Derselbe Effekt kann durch die TESTINGPLATFORM_NOBANNER Variablen oder DOTNET_NOLOGOumgebungsvariablen erreicht werden.

  • --results-directory

    Das Verzeichnis, in dem die Testergebnisse gespeichert werden. Wenn das angegebene Verzeichnis noch nicht existiert, wird es erstellt. Der Standardwert ist TestResults im Verzeichnis, das die Testanwendung enthält.

  • --server

    Startet die Testanwendung im JSON-RPC Servermodus für die Editor-, IDE- oder Toolintegration. Lassen Sie den Wert aus oder verwenden Sie jsonrpc. Informationen zu einem unterstützten Client, der nur als Quelle fungiert, finden Sie unter MTP-Servermodus.

    Important

    Der dotnettestcli Wert und die zugehörigen Transportargumente sind intern für die .NET SDK-Integration. Übergeben Sie sie nicht manuell.

  • --show-slowest-tests

    Zeigt die angeforderte Anzahl der langsamsten Tests in der Terminalzusammenfassung an. Wenn eine Ausführung mehrere Testmodule enthält, meldet MTP die langsamsten Tests für jedes Modul.

    Hinweis

    Diese Option ist ab Version 2.4.0 in MTP verfügbar.

  • --timeout

    Eine globale Zeitüberschreitung für die Testausführung. Nimmt ein Argument als Zeichenfolge im Format <value>[h|m|s] an, wobei <value> ein Float ist.

  • --treenode-filter

    Filtert die auszuführenden Tests mithilfe eines Baumfilterausdrucks. Baumfilter bieten für anspruchsvolle Szenarien flexiblere Abgleichmöglichkeiten als --filter.

    Hinweis

    Ab MTP 2.3.0 können Sie --treenode-filter nicht mit --filter-uid kombinieren; die Angabe beider Optionen führt bei der Befehlszeilenvalidierung zu einem Fehler mit dem Exitcode InvalidCommandLine.

  • --zero-tests-policy

    Steuert, ob eine Ausführung, die keine Tests ausführt, weil jeder Test übersprungen wurde, als Fehler behandelt wird. Gültige Werte sind allow-skipped (Standard) und strict. Mit allow-skipped ist eine vollständig übersprungene Ausführung erfolgreich. Bei strict, schlägt es mit Exit-Code 8fehl. Ein expliziter --minimum-expected-tests Wert ersetzt diese Richtlinie und verwendet Exitcode 9 , wenn das Minimum nicht erfüllt ist.

    Hinweis

    Diese Option ist ab Version 2.3.0 in MTP verfügbar.

Erweiterungsoptionen nach Szenario

Verwenden Sie die folgende Tabelle, um das Paket und die Optionen der einzelnen Erweiterungen zu finden. Ein Test-SDK-Profil kann ein Paket anstelle eines direkten Paketverweises bereitstellen.

Scenario Erforderliche Komponente Funktionsdokumentation
Erfassung der Code-Abdeckung Microsoft.Testing.Extensions.CodeCoverage oder coverlet.MTP Codeabdeckung
Sammeln von Daten eines Absturzes oder von Blockaden Microsoft.Testing.Extensions.CrashDump oder Microsoft.Testing.Extensions.HangDump Daten eines Absturzes oder von Blockaden
Generieren von Testberichten Das Erweiterungspaket für das ausgewählte Format, z. B. Microsoft.Testing.Extensions.TrxReport Testberichte
Anpassen der Terminalausgabe MTP Core (kein zusätzliches Paket) Terminalausgabe
Wiederholen fehlgeschlagener Tests Microsoft.Testing.Extensions.Retry Wiederholen.

Entdecken von Optionen in Ihrer Test-App

Führen Sie Ihr Testprogramm mit --help aus, oder führen Sie dotnet test --help im MTP-Modus aus, um die für Ihren aktuellen Erweiterungssatz verfügbaren Optionen aufzulisten.

Für eine erweiterte Diagnose von registrierten Anbietern und Optionen führen Sie --info aus.

Siehe auch