Microsoft.Testing.Platform (MTP) Referencja opcji CLI

Ten artykuł zawiera centralny punkt wejścia dla opcji wiersza polecenia MTP.

Ważna

Opcje platformy są dostępne w samym MTP. Opcje rozszerzenia są dostępne tylko wtedy, gdy każda docelowa aplikacja testowa rejestruje pakiet rozszerzenia, który je udostępnia. Dodaj pakiet bezpośrednio lub użyj konfiguracji lub profilu zestawu SDK testów, który go zawiera. Jeśli aplikacja testowa nie zarejestruje rozszerzenia, uruchomienie zakończy się niepowodzeniem z kodem zakończenia 5, ponieważ opcja jest nierozpoznana.

Opcje platformy

  • @

    Określa nazwę pliku odpowiedzi. Nazwa pliku odpowiedzi musi znajdować się bezpośrednio po znaku @ bez żadnej spacji między znakiem @ a nazwą pliku odpowiedzi.

    Opcje w pliku odpowiedzi są interpretowane tak, jakby były obecne w tym miejscu w wierszu polecenia. Nie można używać znaku \ ukośnika odwrotnego do łączenia wierszy. Użycie pliku odpowiedzi pomaga w przypadku bardzo długich poleceń, które mogą przekroczyć limity terminalu. Plik odpowiedzi można połączyć z wbudowanymi argumentami wiersza polecenia. Przykład:

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

    gdzie filter.rsp może zawierać następującą zawartość:

    --filter "A very long filter"
    

    Można też użyć pojedynczego pliku rsp do określenia limitu czasu i filtru w następujący sposób:

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

    Uwaga / Notatka

    Podczas używania dotnet test, analizator wiersza polecenia w zestawie SDK stosuje podejście "token na linię", w którym każdy wiersz w pliku odpowiedzi jest traktowany jako pojedynczy token. W takim przypadku każdy argument musi znajdować się w osobnym wierszu:

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

    Określa plik testconfig.json.

  • --debug

    Wstrzymuje wykonywanie testów podczas uruchamiania, aby można było dołączyć debuger do procesu testowania. Odpowiednik ustawienia TESTINGPLATFORM_WAIT_ATTACH_DEBUGGER na 1. Nieobsługiwane na platformach przeglądarki.

    Uwaga / Notatka

    Ta opcja jest dostępna w MTP, począwszy od wersji 1.9.0. Zastępuje poprzednią --debug-wait-attach opcję (wprowadzoną w MTP 1.6.0); stara nazwa została usunięta i nie może być już używana.

  • --diagnostic

    Włącza rejestrowanie diagnostyczne. Domyślny poziom logowania to Trace. Dla każdego źródła testowego funkcja MTP zapisuje wartość <asm>_<tfm>_<arch>_<timestamp>.diag. Jeśli znacznik czasu koliduje, MTP dodaje sufiks procesu i licznika zamiast zastępowania istniejącego pliku.

  • --diagnostic-synchronous-write

    Wymusza synchroniczne zapisywanie logów przez wbudowany rejestrator plików. Przydatne w scenariuszach, w których nie chcesz utracić żadnych wpisów dziennika (jeśli proces ulegnie awarii). Spowalnia to wykonywanie testu.

    Uwaga / Notatka

    Dostępne w MTP począwszy od wersji 2.0.0. Zastępuje poprzednią --diagnostic-filelogger-synchronouswrite opcję, która została usunięta w MTP 2.0.0.

  • --diagnostic-output-directory

    Katalog wyjściowy dla rejestrowania diagnostycznego; jeśli katalog nie został określony, plik jest generowany w domyślnym katalogu TestResults.

  • --diagnostic-file-prefix

    Prefiks nazwy pliku dziennika. Wartość domyślna to <asm>_<tfm>_<arch>.

    Uwaga / Notatka

    Dostępne w MTP począwszy od wersji 2.0.0. Zastępuje poprzednią --diagnostic-output-fileprefix opcję, która została usunięta w MTP 2.0.0.

  • --diagnostic-verbosity

    Definiuje poziom szczegółowości, gdy używany jest przełącznik --diagnostic. Dostępne wartości to Trace, Debug, Information, Warning, Errorlub Critical.

  • --enable-dynamic-extensions

    Umożliwia ładowanie rozszerzeń zadeklarowanych w plikach manifestu *.testingplatformextensions.json znajdujących się obok aplikacji testowej. Rozszerzenia dynamiczne są domyślnie wyłączone. Aby uzyskać informacje o wymaganiach dotyczących zabezpieczeń i schemacie manifestu, zobacz Dynamiczne ładowanie rozszerzeń.

    Uwaga / Notatka

    Ta opcja jest dostępna w MTP, począwszy od wersji 2.4.0.

  • --exit-on-process-exit

    Zakończ proces testowy, jeśli proces zależny zakończy działanie. Należy podać piD.

  • --filter-uid

    Filtruje testy, które mają zostać uruchomione, według identyfikatorów UID węzłów testowych. Akceptuje co najmniej jeden identyfikator UID.

    Uwaga / Notatka

    Ta opcja jest dostępna w MTP począwszy od wersji 1.8.0. Od wersji MTP 2.3.0 nie można łączyć --filter-uid z --treenode-filter; podanie obu powoduje niepowodzenie walidacji wiersza polecenia z kodem zakończenia InvalidCommandLine.

  • --help

    Wyświetla opis sposobu używania polecenia .

  • --ignore-exit-code

    Zezwala na ignorowanie niektórych kodów zakończenia innych niż zero, i zamiast tego są zwracane jako 0. Aby uzyskać więcej informacji, sprawdź Ignoruj określone kody zakończenia.

  • --info

    Wyświetla zaawansowane informacje o aplikacji testowej .NET, takie jak:

    • Platforma.
    • Środowisko.
    • Każdy zarejestrowany dostawca wiersza polecenia, taki jak np. name, version, descriptioni options.
    • Każde zarejestrowane narzędzie, takie jak jego command, name, version, description, i wszyscy dostawcy wiersza polecenia.

    Ta funkcja służy do zrozumienia rozszerzeń, które będą rejestrować tę samą opcję wiersza polecenia lub zmiany dostępnych opcji między wieloma wersjami rozszerzenia (lub platformy).

  • --list-tests

    Wyświetla listę dostępnych testów bez ich wykonywania. Opcjonalnie przyjmuje argument, który kontroluje format danych wyjściowych: text (wartość domyślna, czytelna dla człowieka) lub json.

    Uwaga / Notatka

    Format json danych wyjściowych jest dostępny w MTP, począwszy od wersji 2.3.0.

  • --maximum-failed-tests

    Określa maksymalną liczbę niepowodzeń testów, które po osiągnięciu zatrzymają przebieg testu. Obsługa tego przełącznika wymaga od autorów platform zaimplementowania możliwości IGracefulStopTestExecutionCapability. Kod zakończenia po osiągnięciu tej liczby niepowodzeń testów wynosi 13. Aby uzyskać więcej informacji, zobacz Kody zakończenia MTP.

    Uwaga / Notatka

    Ta funkcja jest dostępna w MTP, począwszy od wersji 1.5.

  • --minimum-expected-tests

    Określa minimalną liczbę testów, które muszą zostać uruchomione. Gdy uruchomienie obejmuje mniej testów, w tym żadnego, kończy się kodem 9. Jawne minimum zastępuje --zero-tests-policy.

  • --no-banner

    Wyłącza baner startowy, komunikat o prawach autorskich i baner telemetrii. Ten sam efekt można osiągnąć za pomocą TESTINGPLATFORM_NOBANNERDOTNET_NOLOGO lub .

  • --results-directory

    Katalog, w którym zostaną umieszczone wyniki testu. Jeśli określony katalog nie istnieje, zostanie utworzony. Wartość domyślna to TestResults w katalogu zawierającym aplikację testową.

  • --server

    Uruchamia aplikację testowa w trybie serwera JSON-RPC na potrzeby integracji edytora, środowiska IDE lub narzędzia. Pomiń wartość lub użyj jsonrpc. Informacje o obsługiwanym kliencie tylko źródłowym znajdziesz w sekcji Tryb serwera MTP.

    Ważna

    Wartość dotnettestcli i jego argumenty transportu są wewnętrzne do integracji .NET SDK. Nie przekazuj ich ręcznie.

  • --show-slowest-tests

    Pokazuje żądaną liczbę najwolniejszych testów w podsumowaniu terminalu. Jeśli przebieg zawiera wiele modułów testowych, usługa MTP zgłasza najwolniejsze testy dla każdego modułu.

    Uwaga / Notatka

    Ta opcja jest dostępna w MTP, począwszy od wersji 2.4.0.

  • --timeout

    Globalny limit czasu wykonywania testów. Przyjmuje jeden argument jako ciąg w formacie <value>[h|m|s], gdzie <value> jest liczbą zmiennoprzecinkową.

  • --treenode-filter

    Filtruje testy do uruchomienia przy użyciu wyrażenia filtru drzewa. Filtry hierarchiczne umożliwiają bardziej zaawansowane dopasowywanie niż --filter w zaawansowanych scenariuszach.

    Uwaga / Notatka

    Od wersji MTP 2.3.0 nie można łączyć --treenode-filter z --filter-uid; podanie obu powoduje niepowodzenie walidacji wiersza polecenia z kodem zakończenia InvalidCommandLine.

  • --zero-tests-policy

    Określa, czy uruchomienie, które nie uruchamia żadnych testów, ponieważ wszystkie testy zostały pominięte, jest uznawane za niepowodzenie. Prawidłowe wartości to allow-skipped (wartość domyślna) i strict. Z allow-skipped uruchomienie z pominięciem wszystkich testów kończy się powodzeniem. Z strict kończy się niepowodzeniem z kodem zakończenia 8. Wartość określona jawnie za pomocą --minimum-expected-tests ma pierwszeństwo przed tymi zasadami i używa kodu zakończenia 9, jeśli wartość minimalna nie zostanie osiągnięta.

    Uwaga / Notatka

    Ta opcja jest dostępna w MTP, począwszy od wersji 2.3.0.

Opcje rozszerzenia według scenariusza

Skorzystaj z poniższej tabeli, aby znaleźć pakiet i opcje każdego rozszerzenia. Profil testowy zestawu SDK może udostępniać pakiet zamiast bezpośredniego odwołania do pakietu.

Scenariusz Wymagany składnik Dokumentacja funkcji
Zbieranie pokrycia kodu Microsoft.Testing.Extensions.CodeCoverage lub coverlet.MTP Pokrycie kodu
Zbieranie zrzutów awaryjnych lub zawieszania się Microsoft.Testing.Extensions.CrashDump lub Microsoft.Testing.Extensions.HangDump Zrzuty awaryjne i zawieszania się
Generowanie raportów testowych Pakiet rozszerzenia dla wybranego formatu, na przykład Microsoft.Testing.Extensions.TrxReport Raporty testowe
Dostosowywanie danych wyjściowych terminalu Rdzeń MTP (bez dodatkowego pakietu) Dane wyjściowe terminalu
Ponów nieudane testy Microsoft.Testing.Extensions.Retry ponów próbę

Odnajdywanie opcji w aplikacji testowej

Uruchom testowy plik wykonywalny za pomocą --helppolecenia lub uruchom dotnet test --help polecenie w trybie MTP, aby wyświetlić listę opcji dostępnych dla bieżącego zestawu rozszerzeń.

Aby uzyskać zaawansowaną diagnostykę zarejestrowanych dostawców i opcji, uruchom z parametrem --info.

Zobacz także