VSTest.Console.exe možnosti příkazového řádku
VSTest.Console.exe je nástroj příkazového řádku pro spouštění testů. Na příkazovém řádku můžete zadat několik možností v libovolném pořadí. Tyto možnosti jsou uvedeny v Obecné možnosti příkazového řádku.
Poznámka
Adaptér MSTest v sadě Visual Studio funguje také v zastaralém režimu (ekvivalentní spouštění testů s mstest.exe) kvůli kompatibilitě. Ve starším režimu nemůže využít funkci TestCaseFilter. Adaptér se může přepnout do staršího režimu, když je zadán testsettings soubor, forcelegacymode je nastaven na true v runsettings souboru, nebo pomocí atributů, jako je HostType.
Pokud chcete spustit automatizované testy na počítači založeném na architektuře ARM, musíte použít VSTest.Console.exe.
Otevřete vývojářský příkazový řádek použít nástroj příkazového řádku nebo nástroj najdete v %Program Files(x86)%\Microsoft Visual Studio\<verzi>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft>.
Obecné možnosti příkazového řádku
V následující tabulce jsou uvedeny všechny možnosti VSTest.Console.exe a krátké popisy. Podobný souhrn můžete zobrazit zadáním VSTest.Console/?
na příkazovém řádku.
Možnost | Popis |
---|---|
[názvy testovacích souborů] | Spusťte testy ze zadaných souborů. Oddělte několik názvů testovacích souborů mezerami. Příklady: mytestproject.dll , mytestproject.dll myothertestproject.exe |
/Settings:[název souboru] | Spusťte testy s dalšími nastaveními, jako jsou kolektory dat. Další informace najdete v tématu Konfigurace testů jednotek pomocí souboru .runsettings Příklad: /Settings:local.runsettings |
/Tests:[název testu] | Spusťte testy s názvy, které obsahují zadané hodnoty. Tento příkaz odpovídá úplnému názvu testu, včetně oboru názvů. Pokud chcete zadat více hodnot, oddělte je čárkami. Příklad: /Tests:TestMethod1,testMethod2 Možnost příkazového řádku /Tests nelze použít s možností příkazového řádku /TestCaseFilter. |
/Parallel | Určuje, že testy se provádějí paralelně. Ve výchozím nastavení je možné použít až všechna dostupná jádra na počítači. Můžete nakonfigurovat počet jader, která se mají použít v souboru nastavení. |
/Enablecodecoverage | Povolí v testovacím běhu CodeCoverage adaptér diagnostiky dat. Výchozí nastavení se použijí, pokud není zadáno pomocí souboru nastavení. |
/Inisolation | Spustí testy v izolovaném procesu. Díky této izolaci se proces vstest.console.exe méně pravděpodobně zastaví na chybě v testech, ale testy můžou běžet pomaleji. |
/UseVsixExtensions | Tato možnost zajistí, že proces vstest.console.exe použije nebo přeskočí nainstalované rozšíření VSIX (pokud existuje) v testovacím spuštění. Tato možnost je zastaralá. Od příští hlavní verze sady Visual Studio může být tato možnost odebrána. Přechod na využívání rozšíření zpřístupněných jako balíček NuGet Příklad: /UseVsixExtensions:true |
/TestAdapterPath:[ cestacesta] | Vynutí proces vstest.console.exe použití vlastních testovacích adaptérů ze zadané cesty (pokud existuje) v testovacím spuštění. Příklad: /TestAdapterPath:[pathToCustomAdapters] |
/Platform:[typ platformy] | Vynutí použití dané platformy místo platformy určené z aktuálního modulu runtime. Tato možnost může vynutit pouze platformy x86 a x64 ve Windows. Možnost ARM je přerušená a ve většině systémů bude mít za následek x64. Nezadávejte tuto možnost pro spuštění v modulech runtime, které nejsou v seznamu platných hodnot, jako je ARM64. Platné hodnoty jsou x86, x64 a ARM. |
/Framework: [verze] | Cílová verze .NET, která se má použít k provedení testu. Příklady hodnot jsou Framework35 , Framework40 , Framework45 , FrameworkUap10 , .NETCoreApp,Version=v1.1 .TargetFrameworkAttribute se používá k automatickému rozpoznání této možnosti z sestavení a ve výchozím nastavení se Framework40 , pokud atribut není k dispozici. Tuto možnost musíte explicitně zadat, pokud odeberete TargetFrameworkAttribute ze sestavení .NET Core.Pokud je cílová architektura zadána jako Framework35, testy se spustí v CLR 4.0 "režim kompatibility". Příklad: /Framework:framework40 |
/TestCaseFilter:[ výraz] | Spusťte testy, které odpovídají danému výrazu. < > výrazu je vlastnost <formátu>=<hodnota>[|<Výraz>]. Příklad: /TestCaseFilter:"Priority=1" Příklad: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName" Možnost příkazového řádku /TestCaseFilter nelze použít s možností příkazového řádku /Tests. Informace o vytvářeníach ch |
/? | Zobrazí informace o využití. |
/Logger:[identifikátor URI/friendlyname] | Zadejte protokolovací nástroje pro výsledky testů. Pokud chcete povolit více protokolovacích souborů, zadejte parametr vícekrát. Příklad: Pokud chcete výsledky přihlásit do souboru výsledků testů sady Visual Studio (TRX), použijte /Logger:trx [; LogFileName=<Defaults to unique file name>] |
/ListTests:[ název souboru] | Zobrazí seznam zjištěných testů z daného testovacího kontejneru. Poznámka: Možnost /TestCaseFilters nemá žádný vliv při výpisu testů; řídí pouze to, které testy se spustí. |
/ListDiscoverers | Zobrazí seznam nainstalovaných zjišťovačů testů. |
/ListExecutors | Zobrazí seznam nainstalovaných exekutorů testů. |
/ListLoggers | Vypíše nainstalované protokolovací nástroje pro testování. |
/ListSettingsProviders | Zobrazí seznam nainstalovaných zprostředkovatelů nastavení testů. |
/Blame | Spustí testy v režimu blame. Tato možnost je užitečná při izolování problematických testů, které způsobují chybové ukončení hostitele testu. Když dojde k chybě, vytvoří se v TestResults/<Guid>/<Guid>_Sequence.xml sekvenční soubor, který zachycuje pořadí testů, které byly spuštěny před chybovým ukončením. Další informace najdete v tématu kolekce dat Blame. |
/Diag:[ název souboru] | Zapíše do zadaného souboru protokoly trasování diagnostiky. |
/ResultsDirectory:[cesta] | Pokud adresář výsledků testů neexistuje, vytvoří se v zadané cestě. Příklad: /ResultsDirectory:<pathToResultsDirectory> |
/ParentProcessId:[parentProcessId] | ID procesu nadřazeného procesu zodpovědného za spuštění aktuálního procesu. |
/Port:[port] | Port pro připojení soketu a příjem zpráv událostí. |
/Collect:[dataCollector friendlyName] | Povolí kolektor dat pro testovací běh. Další informace. |
Spropitné
Možnosti a hodnoty nerozlišují malá a velká písmena.
Příklady
Syntaxe spuštění vstest.console.exe je:
vstest.console.exe [TestFileNames] [Options]
Ve výchozím nastavení příkaz vrátí hodnotu 0, když se normálně ukončí, i když nejsou zjištěny žádné testy. Pokud chcete vrátit nenulovou hodnotu, pokud nejsou zjištěny žádné testy, použijte možnost <TreatNoTestsAsError>true</TreatNoTestsAsError>
runsettings.
Následující příkaz spustí vstest.console.exe pro myTestProject.dlltestovací knihovny:
vstest.console.exe myTestProject.dll
Následující příkaz spustí vstest.console.exe s více testovacími soubory. Názvy testovacích souborů oddělte mezerami:
vstest.console.exe myTestFile.dll myOtherTestFile.dll
Následující příkaz spustí vstest.console.exe s několika možnostmi. Spouští testy v souboru myTestFile.dll v izolovaném procesu a používá nastavení zadaná v souboru Local.RunSettings. Kromě toho spustí testy označené jako Priority=1 a výsledky zaprotokoluje do souboru .trx.
vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx
Následující příkaz spustí vstest.console.exe s možností /blame
pro myTestProject.dlltestovací knihovny:
vstest.console.exe myTestFile.dll /blame
Pokud dojde k chybovému ukončení testovacího hostitele, vygeneruje se soubor sequence.xml. Soubor obsahuje plně kvalifikované názvy testů v jejich sekvenci provádění až do konkrétního testu, který byl spuštěn v době chybového ukončení.
Pokud nedojde k chybě testovacího hostitele, soubor sequence.xml se negeneruje.
Příklad vygenerovaného souboru sequence.xml:
<?xml version="1.0"?>
<TestSequence>
<Test Name="TestProject.UnitTest1.TestMethodB" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
<Test Name="TestProject.UnitTest1.TestMethodA" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
</TestSequence>
Příklad UPW
Pro UPW musí být soubor appxrecipe odkazován místo knihovny DLL.
vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe