Udostępnij za pomocą


Rozszerzenie programu VSTest Bridge

Niniejsze rozszerzenie zapewnia warstwę kompatybilności z VSTest, umożliwiając frameworkom testowym, które na nim polegają, dalsze wsparcie dla działania w trybie VSTest (vstest.console.exe, zwykle dotnet test, VSTest task w AzDo, Eksploratorach Testów Visual Studio i Visual Studio Code...). To rozszerzenie jest dostarczane w ramach pakietu Microsoft.Testing.Extensions.VSTestBridge.

Zgodność z programem VSTest

Głównym celem tego rozszerzenia jest oferowanie łatwego i płynnego środowiska uaktualniania dla użytkowników VSTest, umożliwiając tryb podwójny, w którym nowa platforma jest włączona i równolegle oferowany jest tryb zgodności, aby umożliwić kontynuowanie pracy zwykłych przepływów pracy.

Obsługa ustawień uruchamiania

To rozszerzenie umożliwia dostarczenie pliku VSTest .runsettings, ale nie wszystkie opcje w tym pliku są rozpoznawane przez platformę. Poniżej opisano obsługiwane i nieobsługiwane ustawienia, opcje konfiguracji i alternatywy dla najczęściej używanych opcji konfiguracji VSTest.

Po aktywowaniu przez środowisko testowe można użyć --settings <SETTINGS_FILE>, aby podać plik .runsettings.

Element konfiguracji uruchamiania

Następujące elementy RunConfiguration nie są obsługiwane przez Microsoft.Testing.Platform:

Węzeł Opis Przyczyna/obejście problemu
MaxCpuCount To ustawienie kontroluje poziom równoległości na poziomie procesu. Użyj wartości 0, aby włączyć maksymalną równoległość na poziomie procesów. Gdy program Microsoft.Testing.Platform jest używany z programem MSBuild, ta opcja jest odciążona do programu MSBuild. Po uruchomieniu pojedynczego pliku wykonywalnego ta opcja nie ma znaczenia dla microsoft.Testing.Platform.
KatalogWyników Katalog, w którym są umieszczane wyniki testów. Ścieżka jest względna względem katalogu zawierającego plik .runsettings. Użyj opcji wiersza polecenia --results-directory, aby określić 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ą.
TargetFrameworkVersion To ustawienie definiuje wersję platformy lub rodzinę platform do użycia do uruchamiania testów. Ta opcja jest ignorowana. Właściwości <TargetFramework> lub <TargetFrameworks> MSBuild określają platformę docelową aplikacji. Testy są hostowane w końcowej aplikacji.
TargetPlatform To ustawienie definiuje architekturę używaną do uruchamiania testów. <RuntimeIdentifier> określa architekturę ostatecznej aplikacji, która hostuje testy.
TreatTestAdapterErrorsAsWarnings (Traktuj błędy adaptera testów jako ostrzeżenia) Tłumi błędy adaptera testowego, przekształcając je w ostrzeżenia. Microsoft.Testing.Platform pozwala na uruchamianie tylko jednego rodzaju testów z pojedynczego zestawu, a niepowodzenie w załadowaniu środowiska testowego lub innych części infrastruktury będzie błędem nie do pominięcia, ponieważ oznacza to, że niektóre testy nie mogą zostać odnalezione lub uruchomione.
TestAdaptersPaths Co najmniej jedna ścieżka do katalogu, w którym znajdują się TestAdapters Microsoft.Testing.Platform nie korzysta z koncepcji adapterów testowych i nie zezwala na dynamiczne ładowanie rozszerzeń, chyba że są one częścią kompilacji i są rejestrowane w Program.cs, automatycznie poprzez cele kompilacji lub ręcznie.
TestCaseFilter Filtr ograniczający testy, które będą uruchamiane. Począwszy od wersji 1.6, ten wpis runsettings jest teraz obsługiwany. Przed tą wersją należy zamiast tego użyć opcji wiersza polecenia --filter.
TestSessionTimeout Umożliwia użytkownikom zakończenie sesji testowej po przekroczeniu limitu czasu. Nie ma alternatywnej opcji.
dotnetHostPath Określ niestandardową ścieżkę do hosta dotnet, który jest używany do uruchamiania hosta testowego. Microsoft.Testing.Platform nie wykonuje żadnego dodatkowego rozwiązywania problemów z dotnet. Zależy to w pełni od sposobu, w jaki dotnet się konfiguruje, co może być sterowane przez zmienne środowiskowe, takie jak DOTNET_HOST_PATH.
TreatNoTestsAsError (Traktuj brak testów jako błąd) Zakończ z kodem zakończenia innym niż zero, gdy nie zostaną znalezione żadne testy. Microsoft.Testing.Platform domyślnie zgłosi błąd, gdy w aplikacji testowej nie zostaną odnalezione ani uruchomione testy. Liczbę testów, które można znaleźć w zestawie, można ustawić przy użyciu --minimum-expected-tests parametru wiersza polecenia, który domyślnie to 1.

Element kolekcjonerów danych

Microsoft.Testing.Platform nie używa modułów zbierających dane. Zamiast tego istnieje koncepcja rozszerzeń wewnątrzprocesowych i zewnątrzprocesowych. Każde rozszerzenie jest konfigurowane przez odpowiedni plik konfiguracji lub za pośrednictwem wiersza polecenia.

Co najważniejsze, rozszerzenia zawieszanie i zawieszanie, a także rozszerzenie pokrycia kodu .

LoggerRunSettings, element

Rejestratory w Microsoft.Testing.Platform są konfigurowane za pomocą parametrów wiersza polecenia lub ustawień w kodzie.

Obsługa filtru VSTest

To rozszerzenie oferuje również możliwość używania mechanizmu filtrowania VSTest do odnajdywania lub uruchamiania tylko testów, które są zgodne z wyrażeniem filtru. Aby uzyskać więcej informacji, zobacz sekcję szczegóły opcji filtru lub aby uzyskać szczegółowe informacje dotyczące platformy, zobacz stronę Uruchamianie selektywnych testów jednostkowych.

Po włączeniu przez platformę testową można użyć --filter <FILTER_EXPRESSION>.

Parametry przebiegu testu

Parametry do przebiegu testu można przekazać przy użyciu opcji wiersza polecenia --test-parameter w formacie key=value. Tę opcję można określić wiele razy, po jednym dla każdego parametru do ustawienia.

Dostęp do tych parametrów można uzyskać za pomocą platformy testowej w przebiegu testu: