Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo si applica a: ✔️ .NET 10 SDK e versioni successive
Nome
dotnet test - Driver di test .NET usato per eseguire unit test con Microsoft.Testing.Platform.
Synopsis
dotnet test
[--project <PROJECT_PATH>]
[--solution <SOLUTION_PATH>]
[--test-modules <EXPRESSION>]
[--root-directory <ROOT_PATH>]
[--max-parallel-test-modules <NUMBER>]
[-a|--arch <ARCHITECTURE>]
[-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>]
[--os <OS>]
[-r|--runtime <RUNTIME_IDENTIFIER>]
[-v|--verbosity <LEVEL>]
[--no-build]
[--no-restore]
[--no-ansi]
[--no-progress]
[--output <VERBOSITY_LEVEL>]
[--no-launch-profile]
[--no-launch-profile-arguments]
[<args>...]
dotnet test -h|--help
Description
Con Microsoft Testing Platform, dotnet test funziona più velocemente rispetto a VSTest. Gli argomenti correlati al test non sono più fissi, perché sono associati alle estensioni registrate nei progetti di test. MTP supporta inoltre un filtro globbing durante l'esecuzione dei test. Per altre informazioni, vedere Microsoft.Testing.Platform.
Avvertimento
Quando Microsoft.Testing.Platform è consenso esplicito tramite global.json, dotnet test prevede che tutti i progetti di test usino Microsoft.Testing.Platform. Si tratta di un errore se uno dei progetti di test usa VSTest.
Ripristino implicito
Non è necessario eseguire dotnet restore perché viene eseguito in modo implicito da tutti i comandi che richiedono un ripristino, ad esempio dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish e dotnet pack. Per disabilitare il ripristino implicito, usare l'opzione --no-restore.
Il comando dotnet restore è ancora utile in alcuni scenari in cui ha senso eseguire un ripristino esplicito, ad esempio le compilazioni di integrazione continua in Azure DevOps Services o in sistemi di compilazione che richiedono il controllo esplicito quando viene eseguito il ripristino.
Per informazioni su come gestire i feed NuGet, vedere la dotnet restore documentazione.
Options
Annotazioni
È possibile usare solo una delle opzioni seguenti alla volta: --project, --solutiono --test-modules. Queste opzioni non possono essere combinate.
Inoltre, quando si usa --test-modules, non è possibile specificare --arch, --configuration, --framework, --oso --runtime. Queste opzioni non sono rilevanti per un modulo già compilato.
--project <PROJECT_PATH>Specifica il percorso del file di progetto da eseguire: nome della cartella o percorso completo. Se non specificato, per impostazione predefinita il percorso corrisponde alla directory corrente.
--solution <SOLUTION_PATH>Specifica il percorso del file della soluzione da eseguire (nome della cartella o percorso completo). Se non specificato, per impostazione predefinita il percorso corrisponde alla directory corrente.
--test-modules <EXPRESSION>Filtra i moduli di test usando il globbing dei file in .NET. Verranno eseguiti solo i test appartenenti a tali moduli di test. Per altre informazioni ed esempi su come usare il globbing di file in .NET, vedere file globbing.
--root-directory <ROOT_PATH>Specifica la directory radice dell'opzione
--test-modules. Può essere usato solo con l'opzione--test-modules.--max-parallel-test-modules <NUMBER>Specifica il numero massimo di moduli di test che possono essere eseguiti in parallelo. Il valore predefinito è Environment.ProcessorCount.
-
-a|--arch <ARCHITECTURE>Specifica l'architettura di destinazione. Si tratta di una sintassi abbreviata per l'impostazione dell'identificatore di runtime (RID), in cui il valore fornito viene combinato con il RID predefinito. Ad esempio, in un computer
win-x64, specificando--arch x86si imposta il RID suwin-x86. Se si usa questa opzione, non usare l'opzione-r|--runtime. Disponibile a partire da .NET 6 Preview 7. -
-c|--configuration <CONFIGURATION>Definisce la configurazione di compilazione. Il valore predefinito per la maggior parte dei progetti è
Debug, ma è possibile eseguire l'override delle impostazioni di configurazione della compilazione nel progetto. -f|--framework <FRAMEWORK>Moniker framework di destinazione (TFM) del framework di destinazione per cui eseguire i test. Il framework di destinazione deve essere specificato anche nel file di progetto.
-
--os <OS>Specifica il sistema operativo di destinazione. Si tratta di una sintassi abbreviata per l'impostazione dell'identificatore di runtime (RID), in cui il valore fornito viene combinato con il RID predefinito. Ad esempio, in un computer
win-x64, specificando--os linuxsi imposta il RID sulinux-x64. Se si usa questa opzione, non usare l'opzione-r|--runtime. Disponibile a partire da .NET 6. -r|--runtime <RUNTIME_IDENTIFIER>Runtime di destinazione per cui eseguire i test.
A partire da .NET SDK 7 è disponibile la forma breve
-r.Annotazioni
L'esecuzione di test per una soluzione con una proprietà globale
RuntimeIdentifier(in modo esplicito o tramite--arch,--runtimeo--os) non è supportata. ImpostareRuntimeIdentifierinvece su un singolo livello di progetto.-
-v|--verbosity <LEVEL>Imposta il livello di dettaglio del comando. I valori consentiti sono
q[uiet],m[inimal],n[ormal],d[etailed]ediag[nostic]. Per altre informazioni, vedere LoggerVerbosity. --no-buildSpecifica che il progetto di test non viene compilato prima dell'esecuzione. Imposta anche in modo implicito il flag
--no-restore.--no-restoreSpecifica che un ripristino implicito non viene eseguito durante l'esecuzione del comando.
--no-ansiDisabilita l'output dei caratteri di escape ANSI sullo schermo.
--no-progressDisabilita la creazione di report sullo schermo.
--output <VERBOSITY_LEVEL>Specifica il livello di dettaglio dell'output durante la creazione di report dei test. I valori validi sono
NormaleDetailed. Il valore predefinito èNormal.--no-launch-profileNon tentare di usare launchSettings.json per configurare l'applicazione. Per impostazione predefinita,
launchSettings.jsonviene usato , che può applicare variabili di ambiente e argomenti della riga di comando al file eseguibile di test.--no-launch-profile-argumentsNon usare gli argomenti specificati da
commandLineArgsnel profilo di avvio per eseguire l'applicazione.--property:<NAME>=<VALUE>Imposta una o più proprietà MSBuild. Specificare più proprietà ripetendo l'opzione :
--property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>Il formato
-pbreve può essere usato per--property. Lo stesso vale per/property:property=valuee la sua forma breve è/p. Altre informazioni sugli argomenti disponibili sono disponibili nella documentazione di dotnet msbuild.-
-?|-h|--helpStampa una descrizione di come usare il comando .
argsSpecifica argomenti aggiuntivi da passare alle applicazioni di test. Per separare più argomenti usare uno spazio. Per altre informazioni ed esempi su cosa passare, vedere panoramica di Microsoft.Testing.Platform e estensioni Microsoft.Testing.Platform.
Suggerimento
Per specificare argomenti aggiuntivi per progetti specifici, usare la proprietà
TestingPlatformCommandLineArgumentsMSBuild.
Annotazioni
Per abilitare la registrazione della traccia in un file, usare la variabile di ambiente DOTNET_CLI_TEST_TRACEFILE per specificare il percorso del file di traccia.
Esempi
Eseguire i test nel progetto o nella soluzione nella directory corrente:
dotnet testEseguire i test nel progetto
TestProject:dotnet test --project ./TestProject/TestProject.csprojEseguire i test nella soluzione
TestProjects:dotnet test --solution ./TestProjects/TestProjects.slnEseguire i test usando l'assembly
TestProject.dll:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"Eseguire i test usando
TestProject.dllassembly con la directory radice:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll" --root-directory "c:\code"Eseguire i test nella directory corrente con code coverage:
dotnet test --coverageEseguire i test nel progetto
TestProject, specificando l'argomento-bl(log binario) permsbuild:dotnet test --project ./TestProject/TestProject.csproj -blEseguire i test nel progetto
TestProject, impostando la proprietàDefineConstantsdi MSBuild suDEV:dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"
Vedere anche
- Frameworks and Targets (Framework e destinazioni)
- Catalogo dell'identificatore di runtime .NET (RID)
- Microsoft.Testing.Platform
- estensioni Microsoft.Testing.Platform
- di test dotnet
- test dotnet con VSTest