VSTest.Console.exe opdrachtregelopties
VSTest.Console.exe is het opdrachtregelprogramma voor het uitvoeren van tests. U kunt verschillende opties opgeven in elke volgorde op de opdrachtregel. Deze opties worden weergegeven in Algemene opdrachtregelopties.
Notitie
De MSTest-adapter in Visual Studio werkt ook in de verouderde modus (gelijk aan het uitvoeren van tests met mstest.exe) voor compatibiliteit. In de verouderde modus kan deze niet profiteren van de functie TestCaseFilter. De adapter kan overschakelen naar de verouderde modus wanneer een testettings bestand is opgegeven, forcelegacymode is ingesteld op true in een runettings bestand of door kenmerken zoals HostTypete gebruiken.
Als u geautomatiseerde tests wilt uitvoeren op een machine op basis van een ARM-architectuur, moet u VSTest.Console.exegebruiken.
Open opdrachtprompt voor ontwikkelaars om het opdrachtregelprogramma te gebruiken. U kunt het hulpprogramma ook vinden in %Program Files(x86)%\Microsoft Visual Studio\<versie>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft>.
Algemene opdrachtregelopties
De volgende tabel bevat alle opties voor VSTest.Console.exe en korte beschrijvingen ervan. U kunt een vergelijkbare samenvatting zien door VSTest.Console/?
te typen op een opdrachtregel.
Optie | Beschrijving |
---|---|
[bestandsnamen] | Voer tests uit vanaf de opgegeven bestanden. Scheid meerdere namen van testbestanden met spaties. Voorbeelden: mytestproject.dll , mytestproject.dll myothertestproject.exe |
/Settings:[bestandsnaam] | Voer tests uit met aanvullende instellingen, zoals gegevensverzamelaars. Zie Moduletests configureren met behulp van een .runsettings-bestand voor meer informatie Voorbeeld: /Settings:local.runsettings |
/Tests:[testnaam] | Voer tests uit met namen die de opgegeven waarden bevatten. Deze opdracht komt overeen met de volledige testnaam, inclusief de naamruimte. Als u meerdere waarden wilt opgeven, scheidt u deze door komma's. Voorbeeld: /Tests:TestMethod1,testMethod2 De /Tests opdrachtregeloptie kan niet worden gebruikt met de opdrachtregeloptie /TestCaseFilter. |
/Parallel | Hiermee geeft u op dat de tests parallel worden uitgevoerd. Standaard kunnen maximaal alle beschikbare kernen op de machine worden gebruikt. U kunt het aantal kernen configureren dat moet worden gebruikt in een instellingenbestand. |
/Enablecodecoverage | Hiermee schakelt u CodeCoverage voor gegevensdiagnose in tijdens de testuitvoering. Standaardinstellingen worden gebruikt als deze niet zijn opgegeven met behulp van het instellingenbestand. |
/InIsolation- | Voert de tests uit in een geïsoleerd proces. Deze isolatie maakt het vstest.console.exe proces minder waarschijnlijk gestopt op een fout in de tests, maar tests kunnen langzamer worden uitgevoerd. |
/UseVsixExtensions | Met deze optie wordt het vstest.console.exe proces gebruikt of slaat u de GEÏNSTALLEERDE VSIX-extensies (indien aanwezig) over in de testuitvoering. Deze optie is afgeschaft. Vanaf de volgende primaire versie van Visual Studio kan deze optie worden verwijderd. Overstappen op verbruikende extensies die beschikbaar worden gesteld als een NuGet-pakket. Voorbeeld: /UseVsixExtensions:true |
/TestAdapterPath:[pad] | Dwingt het vstest.console.exe proces om aangepaste testadapters te gebruiken vanaf een opgegeven pad (indien aanwezig) in de testuitvoering. Voorbeeld: /TestAdapterPath:[pathToCustomAdapters] |
/Platform:[platformtype] | Dwingt het opgegeven platform te gebruiken, in plaats van het platform dat is bepaald op basis van de huidige runtime. Met deze optie kunnen alleen x86- en x64-platforms op Windows worden geforceerd. De ARM-optie is verbroken en resulteert in x64 op de meeste systemen. Geef deze optie niet op om uit te voeren op runtimes die niet in de lijst met geldige waarden staan, zoals ARM64. Geldige waarden zijn x86, x64 en ARM. |
/Framework: [frameworkversie] | Doelversie van .NET die moet worden gebruikt voor testuitvoering. Voorbeeldwaarden zijn Framework35 , Framework40 , Framework45 , FrameworkUap10 , .NETCoreApp,Version=v1.1 .TargetFrameworkAttribute wordt gebruikt om deze optie automatisch te detecteren vanuit uw assembly en wordt standaard ingesteld op Framework40 wanneer het kenmerk niet aanwezig is. U moet deze optie expliciet opgeven als u de TargetFrameworkAttribute- uit uw .NET Core-assembly's verwijdert.Als het doelframework is opgegeven als Framework35, worden de tests uitgevoerd in de CLR 4.0 -compatibiliteitsmodus. Voorbeeld: /Framework:framework40 |
/TestCaseFilter:[expressie] | Voer tests uit die overeenkomen met de opgegeven expressie. <Expressie> de notatie heeft <eigenschap>=<waarde>[|<Expressie>]. Voorbeeld: /TestCaseFilter:"Priority=1" Voorbeeld: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName" De opdrachtregeloptie /TestCaseFilter kan niet worden gebruikt met de opdrachtregeloptie /Tests. Zie TestCase-filtervoor meer informatie over het maken en gebruiken van expressies. |
/? | Geeft gebruiksgegevens weer. |
/Logger:[URI/friendlyname] | Geef een logger op voor testresultaten. Geef de parameter meerdere keren op om meerdere logboekregistraties in te schakelen. Voorbeeld: Als u resultaten wilt registreren in een Visual Studio Test Results File (TRX), gebruikt u /Logger:trx- [; LogFileName=<Standaard ingesteld op unieke bestandsnaam>] |
/ListTests:[bestandsnaam] | Toont gedetecteerde tests uit de opgegeven testcontainer. Opmerking: de optie /TestCaseFilters heeft geen effect bij het weergeven van tests; het bepaalt alleen welke tests worden uitgevoerd. |
/ListDiscoverers- | Toont geïnstalleerde testdetecties. |
/ListExecutors | Toont geïnstalleerde testexecutors. |
/ListLoggers | Toont geïnstalleerde testloggers. |
/ListSettingsProviders | Toont geïnstalleerde testinstellingenproviders. |
/Blame | Voert de tests uit in de schuldmodus. Deze optie is handig bij het isoleren van problematische tests waardoor de testhost vastloopt. Wanneer er een crash wordt gedetecteerd, wordt er een reeksbestand gemaakt in TestResults/<Guid>/<Guid>_Sequence.xml waarmee de volgorde wordt vastgelegd van tests die vóór de crash zijn uitgevoerd. Zie Gegevensverzamelaar de schuldvoor meer informatie. |
/Diag:[bestandsnaam] | Hiermee schrijft u diagnostische traceringslogboeken naar het opgegeven bestand. |
/ResultsDirectory:[pad] | De map met testresultaten wordt gemaakt in het opgegeven pad als deze niet bestaat. Voorbeeld: /ResultsDirectory:<pathToResultsDirectory> |
/ParentProcessId:[parentProcessId] | Proces-id van het bovenliggende proces dat verantwoordelijk is voor het starten van het huidige proces. |
/Port:[poort] | De poort voor socketverbinding en het ontvangen van de gebeurtenisberichten. |
/Collect:[dataCollector friendlyName] | Hiermee schakelt u gegevensverzamelaar in voor de testuitvoering. Meer informatie. |
Fooi
De opties en waarden zijn niet hoofdlettergevoelig.
Voorbeelden
De syntaxis voor het uitvoeren van vstest.console.exe is:
vstest.console.exe [TestFileNames] [Options]
Standaard retourneert de opdracht 0 wanneer deze normaal wordt afgesloten, zelfs als er geen tests worden gedetecteerd. Als u een niet-nulwaarde wilt retourneren als er geen tests worden gedetecteerd, gebruikt u de optie <TreatNoTestsAsError>true</TreatNoTestsAsError>
runettings.
Met de volgende opdracht wordt vstest.console.exe uitgevoerd voor de testbibliotheek myTestProject.dll:
vstest.console.exe myTestProject.dll
Met de volgende opdracht wordt vstest.console.exe uitgevoerd met meerdere testbestanden. Namen van testbestanden scheiden met spaties:
vstest.console.exe myTestFile.dll myOtherTestFile.dll
Met de volgende opdracht wordt vstest.console.exe uitgevoerd met verschillende opties. De tests worden uitgevoerd in het myTestFile.dll-bestand in een geïsoleerd proces en worden instellingen gebruikt die zijn opgegeven in het bestand Local.RunSettings. Daarnaast worden alleen tests uitgevoerd die zijn gemarkeerd als Priority=1 en worden de resultaten geregistreerd in een TRX--bestand.
vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx
Met de volgende opdracht wordt vstest.console.exe uitgevoerd met de optie /blame
voor de testbibliotheek myTestProject.dll:
vstest.console.exe myTestFile.dll /blame
Als er een crash van de testhost is opgetreden, wordt het sequence.xml-bestand gegenereerd. Het bestand bevat volledig gekwalificeerde namen van de tests in hun volgorde van uitvoering tot en met de specifieke test die werd uitgevoerd op het moment van de crash.
Als er geen testhostcrash is, wordt het sequence.xml bestand niet gegenereerd.
Voorbeeld van een gegenereerd sequence.xml-bestand:
<?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>
UWP-voorbeeld
Voor UWP moet naar het appxrecipe-bestand worden verwezen in plaats van een DLL.
vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe