Dela via


VSTest.Console.exe kommandoradsalternativ

VSTest.Console.exe är kommandoradsverktyget för att köra tester. Du kan ange flera alternativ i valfri ordning på kommandoraden. De här alternativen visas i Allmänna kommandoradsalternativ.

Not

MSTest-adaptern i Visual Studio fungerar också i äldre läge (motsvarar att köra tester med mstest.exe) för kompatibilitet. I äldre läge kan den inte dra nytta av funktionen TestCaseFilter. Adaptern kan växla till äldre läge när en testsettings fil anges, forcelegacymode är inställd på true i en -körningar fil, eller med hjälp av attribut som HostType.

Om du vill köra automatiserade tester på en ARM-arkitekturbaserad dator måste du använda VSTest.Console.exe.

Öppna Kommandotolken för utvecklare om du vill använda kommandoradsverktyget, eller så hittar du verktyget i %Program Files(x86)%\Microsoft Visual Studio\<version>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft>.

Allmänna kommandoradsalternativ

I följande tabell visas alla alternativ för VSTest.Console.exe och korta beskrivningar av dem. Du kan se en liknande sammanfattning genom att skriva VSTest.Console/? på en kommandorad.

Alternativ Beskrivning
[testfilnamn] Kör tester från de angivna filerna. Avgränsa flera testfilnamn med blanksteg.
Exempel: mytestproject.dll, mytestproject.dll myothertestproject.exe
/Settings:[filnamn] Kör tester med ytterligare inställningar, till exempel datainsamlare. Mer information finns i Konfigurera enhetstester med hjälp av en .runsettings-fil
Exempel: /Settings:local.runsettings
/Tests:[testnamn] Kör tester med namn som innehåller de angivna värdena. Det här kommandot matchar det fullständiga testnamnet, inklusive namnområdet. Om du vill ange flera värden avgränsar du dem med kommatecken.
Exempel: /Tests:TestMethod1,testMethod2
Kommandoradsalternativet /Tests kan inte användas med kommandoradsalternativet /TestCaseFilter.
/Parallel Anger att testerna ska köras parallellt. Som standard kan upp till alla tillgängliga kärnor på datorn användas. Du kan konfigurera antalet kärnor som ska användas i en inställningsfil.
/Enablecodecoverage Aktiverar datadiagnostikkort CodeCoverage i testkörningen.
Standardinställningar används om de inte anges med hjälp av inställningsfilen.
/InIsolation Kör testerna i en isolerad process.
Den här isoleringen gör vstest.console.exe processen mindre sannolikt att stoppas vid ett fel i testerna, men testerna kan köras långsammare.
/UseVsixExtensions Med det här alternativet används vstest.console.exe process eller hoppar över de VSIX-tillägg som är installerade (om några) i testkörningen.
Det här alternativet är inaktuellt. Från och med nästa större version av Visual Studio kan det här alternativet tas bort. Övergå till att använda tillägg som görs tillgängliga som ett NuGet-paket.
Exempel: /UseVsixExtensions:true
/TestAdapterPath:[sökväg] Tvingar vstest.console.exe att använda anpassade testkort från en angiven sökväg (om någon) i testkörningen.
Exempel: /TestAdapterPath:[pathToCustomAdapters]
/Platform:[plattformstyp] Tvingar den angivna plattformen att användas i stället för den plattform som bestäms av den aktuella körningen. Det här alternativet kan endast tvinga x86- och x64-plattformar i Windows. ARM-alternativet är brutet och resulterar i x64 på de flesta system.
Ange INTE det här alternativet för att köra på körningar som inte finns i listan över giltiga värden, till exempel ARM64.
Giltiga värden är x86, x64 och ARM.
/Framework: [framework version] Den .NET-målversion som ska användas för testkörning.
Exempelvärden är Framework35, Framework40, Framework45, FrameworkUap10, .NETCoreApp,Version=v1.1.
TargetFrameworkAttribute används för att automatiskt identifiera det här alternativet från sammansättningen och standardvärdet är Framework40 när attributet inte finns. Du måste uttryckligen ange det här alternativet om du tar bort TargetFrameworkAttribute- från dina .NET Core-sammansättningar.
Om målramverket anges som Framework35körs testerna i CLR 4.0 "kompatibilitetsläge".
Exempel: /Framework:framework40
/TestCaseFilter:[uttryck] Kör tester som matchar det angivna uttrycket.
<Expression> har formatet <egenskap>=<värdet>[|<Expression>].
Exempel: /TestCaseFilter:"Priority=1"
Exempel: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"
Kommandoradsalternativet /TestCaseFilter kan inte användas med kommandoradsalternativet /Tests.
Information om hur du skapar och använder uttryck finns i TestCase-filter.
/? Visar användningsinformation.
/Logger:[uri/friendlyname] Ange en logger för testresultat. Ange parametern flera gånger för att aktivera flera loggare.
Exempel: Om du vill logga in resultat i en Visual Studio-testresultatfil (TRX) använder du
/Logger:trx
[; LogFileName=<Standardinställningar för unikt filnamn>]
/ListTests:[filnamn] Visar en lista över identifierade tester från den angivna testcontainern.
Obs! Alternativet /TestCaseFilters har ingen effekt när testerna visas. den styr bara vilka tester som körs.
/ListDiscoverers Visar en lista över installerade testidentifieringar.
/ListExecutors Visar en lista över installerade testexekutorer.
/ListLoggers Visar en lista över installerade testloggare.
/ListSettingsProviders Visar en lista över installerade testinställningar.
/Blame Kör testerna i skuldläge. Det här alternativet är användbart när du isolerar problematiska tester som gör att testvärden kraschar. När en krasch identifieras skapar den en sekvensfil i TestResults/<Guid>/<Guid>_Sequence.xml som samlar in ordningen på tester som kördes före kraschen. Mer information finns i Blame data collector.
/Diag:[filnamn] Skriver diagnostikspårningsloggar till den angivna filen.
/ResultsDirectory:[sökväg] Testresultatkatalogen skapas i den angivna sökvägen om den inte finns.
Exempel: /ResultsDirectory:<pathToResultsDirectory>
/ParentProcessId:[parentProcessId] Process-ID för den överordnade processen som ansvarar för att starta den aktuella processen.
/Port:[port] Porten för socketanslutning och mottagning av händelsemeddelanden.
/Collect:[dataCollector friendlyName] Aktiverar datainsamlare för testkörningen. Mer information.

Dricks

Alternativen och värdena är inte skiftlägeskänsliga.

Exempel

Syntaxen för att köra vstest.console.exe är:

vstest.console.exe [TestFileNames] [Options]

Som standard returnerar kommandot 0 när det avslutas normalt, även om inga tester identifieras. Om du vill returnera ett värde som inte är noll om inga tester identifieras använder du alternativet <TreatNoTestsAsError>true</TreatNoTestsAsError> körningar.

Följande kommando kör vstest.console.exe för testbiblioteket myTestProject.dll:

vstest.console.exe myTestProject.dll

Följande kommando kör vstest.console.exe med flera testfiler. Avgränsa testfilnamn med blanksteg:

vstest.console.exe myTestFile.dll myOtherTestFile.dll

Följande kommando kör vstest.console.exe med flera alternativ. Den kör testerna i filen myTestFile.dll i en isolerad process och använder inställningar som anges i filen Local.RunSettings. Dessutom körs bara tester märkta "Priority=1" och loggar resultatet till en .trx- fil.

vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx

Följande kommando kör vstest.console.exe med alternativet /blame för testbiblioteket myTestProject.dll:

vstest.console.exe myTestFile.dll /blame

Om en testvärdkrasch inträffade genereras sequence.xml-filen. Filen innehåller fullständigt kvalificerade namn på testerna i deras körningssekvens fram till och med det specifika test som kördes vid tidpunkten för kraschen.

Om det inte finns någon testvärdkrasch genereras inte sequence.xml-filen.

Exempel på en genererad sequence.xml fil:

<?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-exempel

För UWP måste appxrecipe-filen refereras i stället för en DLL.

vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe