VSTest.Console.exe opzioni della riga di comando
VSTest.Console.exe è lo strumento da riga di comando per eseguire i test. È possibile specificare diverse opzioni in qualsiasi ordine nella riga di comando. Queste opzioni sono elencate in opzioni della riga di comando generale.
Nota
L'adapter MSTest in Visual Studio funziona anche in modalità legacy (equivalente all'esecuzione di test con mstest.exe) per garantire la compatibilità. In modalità legacy non può sfruttare la funzionalità TestCaseFilter. L'adattatore può passare alla modalità legacy quando viene specificato un file
Per eseguire test automatizzati in un computer basato sull'architettura arm, è necessario usare VSTest.Console.exe.
Aprire prompt dei comandi per sviluppatori per usare lo strumento da riga di comando oppure è possibile trovare lo strumento in %Program Files(x86)%\Microsoft Visual Studio\<versione>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft>.
Opzioni generali della riga di comando
Nella tabella seguente sono elencate tutte le opzioni per VSTest.Console.exe e le descrizioni brevi. È possibile visualizzare un riepilogo simile digitando VSTest.Console/?
in una riga di comando.
Opzione | Descrizione |
---|---|
[test dei nomi di file] | Eseguire test dai file specificati. Separare più nomi di file di test con spazi. Esempi: mytestproject.dll , mytestproject.dll myothertestproject.exe |
/Settings:[nome file] | Eseguire test con impostazioni aggiuntive, ad esempio agenti di raccolta dati. Per altre informazioni, vedere Configurare unit test usando un file con estensione runsettings Esempio: /Settings:local.runsettings |
/Tests:[ nome test] | Eseguire test con nomi che contengono i valori specificati. Questo comando corrisponde al nome completo del test, incluso lo spazio dei nomi . Per fornire più valori, separarli in base a virgole. Esempio: /Tests:TestMethod1,testMethod2 L'opzione della riga di comando /Tests non può essere usata con l'opzione della riga di comando /TestCaseFilter. |
/Parallel | Specifica che i test devono essere eseguiti in parallelo. Per impostazione predefinita, è possibile usare fino a tutti i core disponibili nel computer. È possibile configurare il numero di core da usare in un file di impostazioni. |
/Enablecodecoverage | Abilita l'adattatore di diagnostica dati CodeCoverage nell'esecuzione del test. Le impostazioni predefinite vengono usate se non vengono specificate usando il file delle impostazioni. |
/InIsolation | Esegue i test in un processo isolato. Questo isolamento rende meno probabile che il processo vstest.console.exe venga arrestato in caso di errore nei test, ma i test potrebbero essere eseguiti più lentamente. |
/UseVsixExtensions | Questa opzione rende il processo di vstest.console.exe usare o ignorare le estensioni VSIX installate (se presenti) nell'esecuzione del test. Questa opzione è deprecata. A partire dalla versione principale successiva di Visual Studio, questa opzione potrebbe essere rimossa. Passare all'uso delle estensioni rese disponibili come pacchetto NuGet. Esempio: /UseVsixExtensions:true |
/TestAdapterPath:[ percorso] | Forza il processo vstest.console.exe a usare adattatori di test personalizzati da un percorso specificato (se presente) nell'esecuzione del test. Esempio: /TestAdapterPath:[pathToCustomAdapters] |
/Platform:[tipo di piattaforma] | Forza l'uso della piattaforma specificata, anziché la piattaforma determinata dal runtime corrente. Questa opzione è in grado di forzare solo le piattaforme x86 e x64 in Windows. L'opzione ARM è interrotta e genererà x64 nella maggior parte dei sistemi. Non specificare questa opzione per l'esecuzione in runtime che non si trovano nell'elenco di valori validi, ad esempio ARM64. I valori validi sono x86, x64 e ARM. |
/Framework: [versione framework] | Versione .NET di destinazione da usare per l'esecuzione di test. I valori di esempio sono Framework35 , Framework40 , Framework45 , FrameworkUap10 , .NETCoreApp,Version=v1.1 .TargetFrameworkAttribute viene usato per rilevare automaticamente questa opzione dall'assembly e per impostazione predefinita viene Framework40 quando l'attributo non è presente. È necessario specificare questa opzione in modo esplicito se si rimuove il TargetFrameworkAttribute dagli assembly .NET Core.Se il framework di destinazione viene specificato come Framework35, i test vengono eseguiti in CLR 4.0 "modalità di compatibilità". Esempio: /Framework:framework40 |
/TestCaseFilter:[expression] | Eseguire test che corrispondono all'espressione specificata. <Expression> è del formato <proprietà>=<valore>[|<Expression>]. Esempio: /TestCaseFilter:"Priority=1" Esempio: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName" L'opzione /TestCaseFilter della riga di comando non può essere usata con l'opzione della riga di comando /Tests. Per informazioni sulla creazione e l'uso di espressioni, vedere filtro TestCase. |
/? | Visualizza le informazioni sull'utilizzo. |
/Logger:[ URI/friendlyname] | Specificare un logger per i risultati del test. Specificare il parametro più volte per abilitare più logger. Esempio: per registrare i risultati in un file dei risultati dei test di Visual Studio (TRX), usare /Logger:trx [; LogFileName=<Valori predefiniti per il nome di file univoco>] |
/ListTests:[ nome file] | Elenca i test individuati dal contenitore di test specificato. Nota: l'opzione /TestCaseFilters non ha alcun effetto quando si elencano i test; controlla solo i test che vengono eseguiti. |
/ListDiscoverers | Elenca gli individuatori di test installati. |
/ListExecutors | Elenca gli executor di test installati. |
/ListLoggers | Elenca i logger di test installati. |
/ListSettingsProviders | Elenca i provider di impostazioni di test installati. |
/Blame | Esegue i test in modalità di colpa. Questa opzione è utile per isolare i test problematici che causano l'arresto anomalo dell'host di test. Quando viene rilevato un arresto anomalo, crea un file di sequenza in TestResults/<Guid>/<Guid>_Sequence.xml che acquisisce l'ordine dei test eseguiti prima dell'arresto anomalo. Per altre informazioni, vedere l'agente di raccolta dati Blame. |
/Diag:[nome file] | Scrive i log di traccia di diagnostica nel file specificato. |
/ResultsDirectory:[ percorso] | Se non esiste, la directory dei risultati del test verrà creata nel percorso specificato. Esempio: /ResultsDirectory:<pathToResultsDirectory> |
/ParentProcessId:[parentProcessId] | ID processo del processo padre responsabile dell'avvio del processo corrente. |
/Port:[ porta] | Porta per la connessione socket e ricezione dei messaggi dell'evento. |
/Collect:[dataCollector friendlyName] | Abilita l'agente di raccolta dati per l'esecuzione del test. Altre informazioni. |
Mancia
Le opzioni e i valori non fanno distinzione tra maiuscole e minuscole.
Esempi
La sintassi per l'esecuzione di vstest.console.exe è:
vstest.console.exe [TestFileNames] [Options]
Per impostazione predefinita, il comando restituisce 0 quando viene chiuso normalmente, anche se non vengono individuati test. Se si desidera restituire un valore diverso da zero se non vengono individuati test, usare <TreatNoTestsAsError>true</TreatNoTestsAsError>
'opzione runsettings.
Il comando seguente esegue vstest.console.exe per la libreria di test myTestProject.dll:
vstest.console.exe myTestProject.dll
Il comando seguente esegue vstest.console.exe con più file di test. Separare i nomi dei file di test con spazi:
vstest.console.exe myTestFile.dll myOtherTestFile.dll
Il comando seguente esegue vstest.console.exe con diverse opzioni. Esegue i test nel file myTestFile.dll in un processo isolato e usa le impostazioni specificate nel file Local.RunSettings. Inoltre, esegue solo i test contrassegnati come "Priority=1" e registra i risultati in un file trx.
vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx
Il comando seguente esegue vstest.console.exe con l'opzione /blame
per la libreria di test myTestProject.dll:
vstest.console.exe myTestFile.dll /blame
Se si verifica un arresto anomalo dell'host di test, viene generato il file sequence.xml. Il file contiene nomi completi dei test nella sequenza di esecuzione fino a e include il test specifico in esecuzione al momento dell'arresto anomalo.
Se non è presente alcun arresto anomalo dell'host di test, il file di sequence.xml non verrà generato.
Esempio di file sequence.xml generato:
<?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>
Esempio UWP
Per la piattaforma UWP, è necessario fare riferimento al file appxrecipe anziché a una DLL.
vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe