Microsoft.Testing.Platform (MTP) referenční informace k možnostem rozhraní příkazového řádku

Tento článek poskytuje centrální vstupní bod pro možnosti příkazového řádku MTP.

Important

Možnosti platformy jsou k dispozici od samotného MTP. Možnosti rozšíření jsou k dispozici pouze tehdy, když každá cílová testovací aplikace zaregistruje balíček rozšíření, který je poskytuje. Přidejte balíček přímo nebo použijte testovací konfiguraci nebo profil sady SDK, který ho obsahuje. Pokud testovací aplikace rozšíření nezaregistruje, spuštění selže s ukončovacím kódem 5, protože možnost není rozpoznána.

Možnosti platformy

  • @

    Určuje název souboru odpovědi. Název souboru odpovědi musí okamžitě následovat za znakem @ bez mezer mezi znakem @ a názvem souboru odpovědi.

    Možnosti v souboru odpovědi se interpretují tak, jako kdyby byly na daném místě na příkazovém řádku. Zpětné lomítko \ nelze použít ke zřetězení řádků. Použití souboru odpovědi pomáhá pro velmi dlouhé příkazy, které by mohly překročit limity terminálu. Soubor odpovědi můžete kombinovat s vloženými argumenty příkazového řádku. Například:

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

    kde filter.rsp může mít následující obsah:

    --filter "A very long filter"
    

    Nebo jeden soubor rsp lze použít k určení časového limitu i filtru následujícím způsobem:

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

    Poznámka:

    Při použití analyzátoru dotnet testpříkazového řádku sady SDK používá metodu token-per-line, kde se každý řádek v souboru odpovědi považuje za jeden token. V takovém případě musí být každý argument na samostatném řádku:

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

    Určuje soubor testconfig.json.

  • --debug

    Pozastaví provádění testu při spuštění, aby bylo možné k testovacímu procesu připojit ladicí program. Odpovídá nastavení TESTINGPLATFORM_WAIT_ATTACH_DEBUGGERproměnné prostředí na 1. Nepodporuje se na platformách prohlížeče.

    Poznámka:

    Tato možnost je dostupná v MTP od verze 1.9.0. Nahrazuje předchozí --debug-wait-attach možnost (zavedená v MTP 1.6.0); starý název byl odebrán a už se nesmí používat.

  • --diagnostic

    Povolí protokolování diagnostiky. Výchozí úroveň protokolu je Trace. Pro každý testovací zdroj MTP zapíše <asm>_<tfm>_<arch>_<timestamp>.diag. Pokud dojde ke kolizi časového razítka, MTP k názvu souboru přidá příponu s identifikátorem procesu a počitadlem namísto přepsání existujícího souboru.

  • --diagnostic-synchronous-write

    Vynutí integrovaný nástroj pro záznam souborů, aby synchronně zapisoval protokoly. Užitečné ve scénářích, kdy nechcete ztratit žádné položky protokolu (pokud se proces chybově ukončí). Tím se zpomalí spuštění testu.

    Poznámka:

    K dispozici v MTP od verze 2.0.0. Nahrazuje předchozí --diagnostic-filelogger-synchronouswrite možnost, která byla odebrána v MTP 2.0.0.

  • --diagnostic-output-directory

    Výstupní adresář protokolování diagnostiky, pokud není zadaný, soubor se vygeneruje ve výchozím adresáři TestResults.

  • --diagnostic-file-prefix

    Předpona názvu souboru protokolu. Výchozí hodnota je <asm>_<tfm>_<arch>.

    Poznámka:

    K dispozici v MTP od verze 2.0.0. Nahrazuje předchozí --diagnostic-output-fileprefix možnost, která byla odebrána v MTP 2.0.0.

  • --diagnostic-verbosity

    Definuje úroveň verbosity při použití přepínače --diagnostic. Dostupné hodnoty jsou Trace, Debug, Information, Warning, Errornebo Critical.

  • --enable-dynamic-extensions

    Povolí načítání rozšíření deklarovaných v souborech manifestu *.testingplatformextensions.json umístěných vedle testovací aplikace. Dynamická rozšíření jsou ve výchozím nastavení zakázaná. Požadavky na zabezpečení a schéma manifestu najdete v tématu Dynamické načítání rozšíření.

    Poznámka:

    Tato možnost je dostupná v MTP od verze 2.4.0.

  • --exit-on-process-exit

    Ukončete testovací proces, pokud skončí závislý proces. Je nutné zadat PID.

  • --filter-uid

    Filtruje testy tak, aby běžely podle jejich identifikátorů uživatelského rozhraní testovacího uzlu. Přijímá jedno nebo více identifikátorů UID.

    Poznámka:

    Tato možnost je dostupná v MTP od verze 1.8.0. Od verze MTP 2.3.0 nemůžete kombinovat --filter-uid s --treenode-filter; pokud zadáte obojí, ověření příkazového řádku selže s návratovým kódem InvalidCommandLine.

  • --help

    Vytiskne popis použití příkazu.

  • --ignore-exit-code

    Umožňuje, aby některé nenulové ukončovací kódy byly ignorovány a místo toho se vrátí jako 0. Další informace naleznete v tématu Ignorovat konkrétní ukončovací kódy.

  • --info

    Zobrazí rozšířené informace o testovací aplikaci .NET, například:

    • Platforma.
    • Prostředí.
    • Každý zaregistrovaný poskytovatel příkazového řádku, například name, version, descriptiona options.
    • Každý registrovaný nástroj, například command, name, version, description a všechny poskytovatele příkazového řádku.

    Tato funkce slouží k pochopení rozšíření, která by registrovala stejnou možnost příkazového řádku nebo změny dostupných možností mezi několika verzemi rozšíření (nebo platformou).

  • --list-tests

    Zobrazí seznam dostupných testů bez jejich provedení. Volitelně má argument, který řídí výstupní formát: text (výchozí, čitelný člověk) nebo json.

    Poznámka:

    Výstupní json formát je k dispozici v MTP od verze 2.3.0.

  • --maximum-failed-tests

    Určuje maximální počet selhání testů, které po dosažení zastaví testovací běh. Podpora tohoto přepínače vyžaduje, aby autoři architektury implementovali funkci IGracefulStopTestExecutionCapability. Ukončovací kód při dosažení tohoto počtu neúspěšných testů je 13. Další informace najdete v tématu Ukončovací kódy MTP.

    Poznámka:

    Tato funkce je dostupná v MTP od verze 1.5.

  • --minimum-expected-tests

    Určuje minimální kladný počet testů, které se musí spustit. Když spuštění provede méně testů, včetně nuly, ukončí se s kódem 9. Výslovně zadané minimum má přednost před --zero-tests-policy.

    S dotnet test, tato možnost platí pro celé spuštění, když je zadána před --, a pro každý testovací modul, když je zadán po --. Další informace najdete v tématu Minima pro celý běh a jednotlivé moduly.

    Poznámka:

    --minimum-expected-tests 0 je neplatný. Chcete-li potlačit ukončovací kód nulových testů, použijte --ignore-exit-code 8.

  • --no-banner

    Zakáže úvodní banner, zprávu o autorských právech a banner telemetrie. Stejného efektu lze dosáhnout pomocí TESTINGPLATFORM_NOBANNER nebo DOTNET_NOLOGOproměnných prostředí.

  • --results-directory

    Adresář, do kterého se umístí výsledky testu. Pokud zadaný adresář neexistuje, vytvoří se. Výchozí hodnota je TestResults v adresáři, který obsahuje testovací aplikaci.

  • --server

    Spustí testovací aplikaci v JSON-RPC režimu serveru pro integraci editoru, integrovaného vývojového prostředí nebo nástroje. Vynechte hodnotu nebo použijte jsonrpc. Informace o podporovaném klientovi pouze pro zdroj naleznete v části režim serveru MTP.

    Important

    Hodnota dotnettestcli a její argumenty přenosu jsou interní pro integraci sady .NET SDK. Nepředávejte je ručně.

  • --show-slowest-tests

    Zobrazuje požadovaný počet nejpomalejších testů v souhrnu terminálu. Když spuštění obsahuje více testovacích modulů, MTP hlásí nejpomalejší testy pro každý modul.

    Poznámka:

    Tato možnost je dostupná v MTP od verze 2.4.0.

  • --timeout

    Časový limit spuštění globálního testu. Vezme jeden argument jako řetězec ve formátu <value>[h|m|s], kde <value> je plovoucí.

  • --treenode-filter

    Filtruje testy určené ke spuštění pomocí výrazu stromového filtru. Filtry stromu nabízejí pro pokročilé scénáře pokročilejší možnosti porovnávání než --filter.

    Poznámka:

    Od verze MTP 2.3.0 nemůžete kombinovat --treenode-filter s --filter-uid; pokud zadáte obojí, ověření příkazového řádku selže s návratovým kódem InvalidCommandLine.

  • --zero-tests-policy

    Určuje, zda se běh, ve kterém se neprovedou žádné testy, protože všechny testy byly přeskočeny, považuje za selhání. Platné hodnoty jsou allow-skipped (výchozí) a strict. S allow-skipped proběhne spuštění, ve kterém byly všechny kroky přeskočeny, úspěšně. S strict dojde k selhání s ukončovacím kódem 8. Explicitní --minimum-expected-tests hodnota nahrazuje tuto zásadu a používá ukončovací kód 9 , pokud není splněno minimum.

    Poznámka:

    Tato možnost je dostupná v MTP od verze 4.3.0. Pomocí dotnet test předejte možnost za --, aby se předala do každého testovacího modulu. Pokud nenastavíte globální minimum, sada SDK .NET 11 určí samostatně verdikt pro celý běh při nulovém počtu testů. Další informace najdete v tématu Minima pro celý běh a jednotlivé moduly.

Možnosti rozšíření podle scénáře

Pomocí následující tabulky vyhledejte balíček a možnosti jednotlivých rozšíření. Profil testovacího SDK může místo přímého odkazu na balíček poskytnout balíček.

Scenario Požadovaná komponenta Dokumentace k funkcím
Sbírat pokrytí kódu Microsoft.Testing.Extensions.CodeCoverage nebo coverlet.MTP Pokrytí kódu
Shromažďování výpisů stavu systému nebo zablokování Microsoft.Testing.Extensions.CrashDump nebo Microsoft.Testing.Extensions.HangDump Výpisy stavu při pádu a zaseknutí
Generování sestav testů Balíček rozšíření pro vybraný formát, například Microsoft.Testing.Extensions.TrxReport Testovací zprávy
Přizpůsobení výstupu terminálu Jádro MTP (bez dalšího balíčku) Výstup terminálu
Opakování neúspěšných testů Microsoft.Testing.Extensions.Retry Opakovat

Zjišťování možností v testovací aplikaci

Spusťte testovací spustitelný soubor pomocí --help, nebo spusťte dotnet test --help v režimu MTP, chcete-li zobrazit seznam možností dostupných pro aktuální sadu rozšíření.

Pro pokročilou diagnostiku registrovaných poskytovatelů a možností spusťte příkaz .--info

Viz také