Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
To rozszerzenie dostarcza warstwę zgodności z programem VSTest, co umożliwia użycie platform testowych, które już zostały zaimplementowane z wykorzystaniem narzędzia VSTest do:
- Łatwe uruchamianie przy użyciu Microsoft. Testing.Platform (MTP) bez konieczności ponownego zapisywania.
- Obsługa zarówno programu VSTest, jak i MTP przy użyciu tej samej implementacji platformy testowej.
To rozszerzenie jest dostarczane w ramach pakietu NuGet 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 MTP:
| Node | 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. | Jeśli protokół MTP 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 protokołu MTP. |
| ResultsDirectory | 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. | Protokół MTP umożliwia uruchamianie tylko jednego typu testów z jednego zgromadzenia, a niepowodzenie w załadowaniu platformy testowej lub innych części infrastruktury stanie się błędem, którego nie można pominąć, 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 | Protokół MTP 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 za pośrednictwem celów 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. | MTP nie wykonuje żadnego dodatkowego rozpoznawania .NET. 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. | Błąd wystąpi domyślnie w MTP, gdy nie odnaleziono ani nie uruchomiono testów w aplikacji testowej. 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
MTP nie korzysta z 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 MTP 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:
- w przypadku narzędzia MSTest użyj Properties
- w przypadku NUnit użyj TestContext.TestParameters