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 uvedené v obecných možnostech 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 může přepnout do staršího režimu, pokud je zadán soubor testsettings , forcelegacymode je nastaven na true v souboru runsettings 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 příkazový řádek pro vývojáře a použijte nástroj příkazového řádku nebo ho najdete v %Program Files(x86)%\Microsoft Visual Studio\<version>\<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ý řádek.
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 |
/Nastavení:[název souboru] | Spusťte testy s dalšími nastaveními, jako jsou kolektory dat. Další informace naleznete 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 . |
/Paralelní | 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 způsobí, ž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:[path] | 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 architektury] | Cílová verze .NET, která se má použít k provedení testu. Příklady hodnot jsou Framework35 , , Framework45 Framework40 , FrameworkUap10 , .NETCoreApp,Version=v1.1 .TargetFrameworkAttribute se používá k automatickému rozpoznání této možnosti z sestavení a výchozí hodnota Framework40 je, když atribut není k dispozici. Tuto možnost musíte explicitně zadat, pokud odeberete TargetFrameworkAttribute ze sestavení .NET Core.Pokud je cílová architektura zadaná jako Framework35, testy se spustí v CLR 4.0 "režim kompatibility". Příklad: /Framework:framework40 |
/TestCaseFilter:[expression] | Spusťte testy, které odpovídají danému výrazu. <Výraz> je vlastnost=value>>< formátu<[|<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 |
/? | Zobrazí informace o využití. |
/Logger:[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: Tato /TestCaseFilters možnost 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í. |
/List Nastavení Providers | Zobrazí seznam nainstalovaných zprostředkovatelů nastavení testů. |
/Vinu | 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. Při zjištění chybového ukončení vytvoří sekvenční soubor, který TestResults/<Guid>/<Guid>_Sequence.xml zachycuje pořadí testů, které byly spuštěny před chybovým ukončením. Další informace najdete v tématu Kolektor dat Blame. |
/Diag:[název souboru] | Zapíše do zadaného souboru protokoly trasování diagnostiky. |
/ResultsDirectory:[path] | 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. |
Tip
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 <TreatNoTestsAsError>true</TreatNoTestsAsError>
možnost runsettings.
Následující příkaz spustí vstest.console.exe pro myTestProject.dll testovací 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. Spustí testy v souboru myTestFile.dll v izolovaném procesu a používá nastavení zadaná v souboru Local.Run Nastavení. Kromě toho spustí testy označené jako Priorita=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í myTestProject.dll testovací knihovny:/blame
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