dotnet vstest

Questo articolo si applica a: ✔️ .NET 6 SDK e versioni successive

Importante

Il dotnet vstest comando viene sostituito da dotnet test, che può ora essere usato per eseguire assembly. Vedere dotnet test.

Nome

dotnet vstest - Esegue test dagli assembly specificati.

Synopsis

dotnet vstest [<TEST_FILE_NAMES>] [--Blame] [--Collect:<DATA_COLLECTOR_NAME>]
    [--Diag:<PATH_TO_LOG_FILE>] [-e|--Environment:<NAME="VALUE">]
    [--Framework:<FRAMEWORK>] [--InIsolation] [-lt|--ListTests:<FILE_NAME>]
    [--logger:<LOGGER_URI/FRIENDLY_NAME>] [--Parallel]
    [--Platform:<PLATFORM_TYPE>] [--ResultsDirectory:<PATH>]
    [--Settings:<SETTINGS_FILE>] [--TestAdapterPath:<PATH>]
    [--TestCaseFilter:<EXPRESSION>] [--Tests:<TEST_NAMES>] [[--] <args>...]

dotnet vstest -?|--Help

Description

Il dotnet vstest comando esegue l'applicazione della VSTest.Console riga di comando per eseguire unit test automatizzati. Le opzioni in questo articolo vengono inoltrate a vstest.console. Per l'elenco completo delle opzioni della riga di comando, vedere vstest.console.exe opzioni della riga di comando.

Arguments

  • TEST_FILE_NAMES

    Eseguire test dagli assembly specificati. Separare più nomi di assembly di test con spazi. Sono supportati caratteri jolly.

Options

  • --Blame

    Esegue i test in modalità di segnalazione degli errori. Questa opzione è utile per isolare i test problematici che causano l'arresto anomalo dell'host di test. Crea un file di output nella directory corrente come Sequence.xml che acquisisce l'ordine di esecuzione dei test prima dell'arresto anomalo.

  • --Collect:<DATA_COLLECTOR_NAME>

    Abilita un agente di raccolta dati per l'esecuzione del test. Ad esempio, --Collect:"Code Coverage" raccoglie il code coverage con l'agente di raccolta Visual Studio predefinito e --Collect:"XPlat Code Coverage" usa l'agente di raccolta Coverlet multipiattaforma. Per altre informazioni, vedere Monitoraggio e analisi di esecuzioni dei test.

  • --Diag:<PATH_TO_LOG_FILE>

    Abilita i log dettagliati per la piattaforma di test. I log vengono scritti nel file fornito.

  • -e|--Environment:<NAME="VALUE">

    Imposta il valore di una variabile di ambiente per il processo host di test. Crea la variabile, se non esiste, ne esegue l'override. L'uso di questa opzione forza l'esecuzione dei test in un processo isolato. Specificare l'opzione più volte per impostare più variabili.

  • --Framework:<FRAMEWORK>

    Versione di .NET Framework di destinazione usata per l'esecuzione di test. Un esempio di valore valido è .NETFramework,Version=v7.0. Altri valori supportati sono Framework40, Framework45, FrameworkCore10e FrameworkUap10.

  • --InIsolation

    Esegue i test in un processo isolato. Ciò rende meno probabile chevstest.console.exe processo venga arrestato in caso di errore nei test, ma i test potrebbero essere eseguiti più lentamente.

  • -lt|--ListTests:<FILE_NAME>

    Elenca tutti i test individuati dal contenitore di test specificato.

  • --logger:<LOGGER_URI/FRIENDLY_NAME>

    Specificare un logger per i risultati del test.

    • Per pubblicare i risultati dei test in Team Foundation Server, usare il TfsPublisher provider logger:

      /logger:TfsPublisher;
          Collection=<team project collection url>;
          BuildName=<build name>;
          TeamProject=<team project name>
          [;Platform=<Defaults to "Any CPU">]
          [;Flavor=<Defaults to "Debug">]
          [;RunTitle=<title>]
      
    • Per registrare i risultati in un file trx (Test Results File) di Visual Studio, usare il trx provider logger. Questa opzione crea un file nella directory dei risultati del test con il nome file di log specificato. Se LogFileName non viene specificato, viene creato un nome file univoco per contenere i risultati del test.

      /logger:trx [;LogFileName=<Defaults to unique file name>]
      
  • --Parallel

    Eseguire test in parallelo. Per impostazione predefinita, tutti i core disponibili nel computer sono disponibili per l'uso. Specificare un numero esplicito di core impostando la MaxCpuCount proprietà nel RunConfiguration nodo nel file runsettings .

  • --Platform:<PLATFORM_TYPE>

    Architettura della piattaforma di destinazione usata per l'esecuzione di test. I valori validi sono x86, x64, ARM, S390xARM64, Ppc64le, RiscV64, e LoongArch64.

  • --ResultsDirectory:<PATH>

    Se non esiste, la directory dei risultati del test verrà creata nel percorso specificato.

  • --Settings:<SETTINGS_FILE>

    Impostazioni da usare durante l'esecuzione dei test.

  • --TestAdapterPath:<PATH>

    Usare adattatori di test personalizzati da un determinato percorso (se presente) nell'esecuzione del test.

  • --TestCaseFilter:<EXPRESSION>

    Eseguire test che corrispondono all'espressione specificata. <EXPRESSION> è del formato <property>Operator<value>[|&<EXPRESSION>], dove Operator è uno di =, !=o ~. L'operatore ~ ha la semantica 'contains' ed è applicabile per le proprietà stringa come DisplayName. Le () parentesi vengono usate per raggruppare le sottoespressioni. Per altre informazioni, vedere Filtro TestCase.

  • --Tests:<TEST_NAMES>

    Eseguire test con nomi che corrispondono ai valori specificati. Separare più valori con virgole.

  • -?|--Help

    Stampa una breve guida per il comando.

  • @<file>

    Legge il file di risposta per altre opzioni.

  • args

    Specifica argomenti aggiuntivi da passare all'adattatore. Gli argomenti vengono specificati come coppie nome-valore della maschera <n>=<v>, dove <n> è il nome dell'argomento e <v> è il valore dell'argomento. Per separare più argomenti usare uno spazio.

Esempi

Eseguire test in mytestproject.dll:

dotnet vstest mytestproject.dll

Eseguire test in mytestproject.dll, esportazione in una cartella personalizzata con nome personalizzato:

dotnet vstest mytestproject.dll --logger:"trx;LogFileName=custom_file_name.trx" --ResultsDirectory:custom/file/path

Eseguire test in mytestproject.dll e myothertestproject.exe:

dotnet vstest mytestproject.dll myothertestproject.exe

Eseguire TestMethod1 test:

dotnet vstest /Tests:TestMethod1

Eseguire TestMethod1 e TestMethod2 testare:

dotnet vstest /Tests:TestMethod1,TestMethod2

Vedere anche