Rozšíření mostu VSTest

Toto rozšíření poskytuje vrstvu kompatibility se službou VSTest, která umožňuje testovací architektury, které jsou již implementovány pomocí VSTestu:

  • Spusťte snadno Microsoft Testing Platform (MTP) bez zásadní úpravy.
  • Podpora VSTest i MTP se stejnou implementací testovací architektury

Toto rozšíření se dodává jako součást balíčku Microsoft.Testing.Extensions.VSTestBridge NuGet.

Kompatibilita s VSTestem

Hlavním účelem tohoto rozšíření je nabídnout uživatelům VSTest snadné a bezproblémové prostředí upgradu tím, že umožňuje duální režim, ve kterém je nová platforma aktivována a paralelní kompatibilní režim je nabízen, aby mohly obvyklé pracovní postupy pokračovat.

Podpora nastavení spuštění

Toto rozšíření umožňuje poskytnout soubor VSTest .runsettings, ale ne všechny možnosti v tomto souboru jsou platformou využity. Níže popisujeme podporovaná a nepodporovaná nastavení, možnosti konfigurace a alternativy pro nejpoužívanější možnosti konfigurace VSTest.

Pokud je tato testovací architektura povolená, můžete k poskytnutí souboru --settings <SETTINGS_FILE> použít .runsettings.

Element RunConfiguration

MTP nepodporuje následující elementy RunConfiguration :

Node Popis Důvod / alternativní řešení
MaxCpuCount Toto nastavení řídí úroveň paralelismu na úrovni procesu. Pomocí 0 povolíte maximální paralelismus na úrovni procesu. Pokud se s nástrojem MSBuild používá MTP, tato možnost se přesměruje do nástroje MSBuild. Při spuštění jednoho spustitelného souboru tato možnost nemá význam pro MTP.
ResultsDirectory Adresář, do kterého se umístí výsledky testu. Cesta je relativní vzhledem k adresáři, který obsahuje soubor .runsettings. Pomocí možnosti příkazového řádku --results-directory určete adresář, do kterého se mají výsledky testu umístit. Pokud zadaný adresář neexistuje, vytvoří se. Výchozí hodnota je TestResults v adresáři, který obsahuje testovací aplikaci.
TargetFrameworkVersion Toto nastavení definuje verzi architektury nebo řadu rozhraní, která se má použít ke spouštění testů. Tato možnost se ignoruje. Vlastnosti <TargetFramework> nebo <TargetFrameworks> MSBuild určují cílovou architekturu aplikace. Testy se hostují v konečné aplikaci.
TargetPlatform Toto nastavení definuje architekturu, která se má použít ke spouštění testů. <RuntimeIdentifier> určuje architekturu konečné aplikace, která je hostitelem testů.
ZvažujChybyTestovacíhoAdapteruJakoVarování Potlačí chyby testovacího adaptéru a změní je na upozornění. MTP umožňuje spuštění pouze jednoho typu testů z jednoho sestavení a selhání načtení testovacího frameworku nebo jiných částí infrastruktury bude nepřeskočitelnou chybou, protože to značí, že některé testy nelze objevit ani provést.
TestovacíAdaptérCesty Jedna nebo více cest k adresáři, kde se nachází TestAdapter MTP nepoužívá koncept testovacích adaptérů a neumožňuje dynamické načítání rozšíření, pokud nejsou součástí sestavení, a nejsou zaregistrovány v Program.cs, buď automaticky prostřednictvím cílů sestavení, nebo ručně.
TestCaseFilter Filtr pro omezení testů, které se spustí. Od verze 1.6 se teď tato položka runsettings podporuje. Před touto verzí byste měli místo toho použít možnost příkazového řádku --filter.
`TestSessionTimeout` Umožňuje uživatelům ukončit testovací relaci, když překročí daný časový limit. Neexistuje žádná alternativní možnost.
DotnetHostPath Zadejte vlastní cestu k hostiteli dotnet, který se používá ke spuštění testovacího hostitele. MTP neprovádí žádné další řešení dotnetu. Záleží plně na tom, jak si dotnet sám poradí, což lze řídit pomocí proměnných prostředí, jako je DOTNET_HOST_PATH.
TreatNoTestsAsError Ukončete s ukončovacím kódem jiným než nula, jestliže nejsou zjištěny žádné testy. MTP způsobí chybu ve výchozím nastavení, pokud nejsou v testovací aplikaci nalezeny nebo spuštěny žádné testy. Počet testů, které očekáváte v sestavení, můžete nastavit pomocí --minimum-expected-tests parametru příkazového řádku, který má výchozí hodnotu 1.

Element sběračů dat

MTP nepoužívá kolektory dat. Místo toho má koncept rozšíření v rámci procesu (in-process) a mimo proces (out-of-process). Každé rozšíření je nakonfigurováno příslušným konfiguračním souborem nebo příkazovým řádkem.

Nejdůležitější jsou rozšíření pro zablokování a rozšíření pro selhání a rozšíření pro pokrytí kódu.

Element „LoggerRunSettings“

Protokolovací nástroje v MTP se konfigurují prostřednictvím parametrů příkazového řádku nebo pomocí nastavení v kódu.

Podpora filtru VSTest

Toto rozšíření také nabízí možnost použít mechanismus filtrování VSTest ke zjišťování nebo spouštění pouze testů, které odpovídají výrazu filtru. Další informace najdete v části Podrobnosti o možnostech filtru nebo podrobnosti specifické pro architekturu najdete na stránce Spouštění selektivních testů jednotek.

Pokud je povolený testovací rámec, můžete použít --filter <FILTER_EXPRESSION>.

Parametry testovacího spuštění

Parametry můžete předat do spuštění testu pomocí volby příkazového řádku --test-parameter ve formátu key=value. Tuto možnost lze zadat vícekrát, jednu pro každý parametr, který se má nastavit.

K těmto parametrům pak může přistupovat testovací architektura v testovacím běhu: