Condividi tramite


Panoramica di Microsoft.Testing.Platform

Microsoft.Testing.Platform è un'alternativa leggera e portabile a VSTest per l'esecuzione di test in tutti i contesti, inclusi pipeline di integrazione continua (CI), interfaccia della riga di comando, Esplora test di Visual Studio ed Esplora testo di VS Code. Microsoft.Testing.Platform è incorporato direttamente nei progetti di test e non sono presenti altre dipendenze da app, come ad esempio vstest.console o dotnet test per eseguire i test.

Microsoft.Testing.Platform è open source. È possibile trovare il codice Microsoft.Testing.Platform nel repository microsoft/testfx di GitHub.

Framework di test supportati

Eseguire i test e il debug

I progetti di test di Microsoft.Testing.Platform vengono compilati come eseguibili che possono essere eseguiti (o sottoposti a debug) direttamente. Non sono disponibili console o comandi aggiuntivi per l'esecuzione dei test. In caso di errore, l'app viene chiusa con un codice di uscita diverso da zero, come avviene nella maggior parte degli eseguibili. Per altre informazioni sui codici di uscita noti, vedere Codici di uscita di Microsoft.Testing.Platform.

Importante

Per impostazione predefinita, Microsoft.Testing.Platform raccoglie i dati di telemetria. Per altre informazioni e opzioni relative al rifiuto esplicito, vedere Dati di telemetria di Microsoft.Testing.Platform.

Pubblicare il progetto di test usando dotnet publish ed eseguire direttamente l'app è un altro modo per eseguire i test. Ad esempio, l'esecuzione di ./Contoso.MyTests.exe. In alcuni scenari è anche possibile usare dotnet build per produrre l'eseguibile, ma possono esserci casi limite da considerare, come l'AOT nativo.

Utilizzare dotnet run

Il comando dotnet run può essere usato per compilare ed eseguire il progetto di test. Questo è il modo più semplice, anche se a volte più lento, per eseguire i test. L'uso di dotnet run è pratico quando si modificano ed eseguono i test in locale, perché garantisce che il progetto di test venga ricompilato quando necessario. dotnet run troverà automaticamente il progetto nella cartella corrente.

dotnet run --project Contoso.MyTests

Per altre informazioni su dotnet run, vedere dotnet run.

Utilizzare dotnet exec

Il comando dotnet exec o dotnet viene usato per eseguire un progetto di test già compilato. Questa è un'alternativa all'esecuzione diretta dell'applicazione. dotnet exec richiede il percorso della DLL del progetto di test compilato.

dotnet exec Contoso.MyTests.dll

oppure

dotnet Contoso.MyTests.dll

Nota

Specificando il percorso dell'eseguibile del progetto di test (*.exe) si ottiene l'errore:

Error:
  An assembly specified in the application dependencies manifest
  (Contoso.MyTests.deps.json) has already been found but with a different
  file extension:
    package: 'Contoso.MyTests', version: '1.0.0'
    path: 'Contoso.MyTests.dll'
    previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net8.0\Contoso.MyTests.exe'

Per altre informazioni su dotnet exec, vedere dotnet exec.

Utilizzare dotnet test.

Microsoft.Testing.Platform offre un livello di compatibilità con vstest.console.exe e dotnet test che garantisce l'esecuzione dei test come prima, pur abilitando nuovi scenari di esecuzione.

dotnet test Contoso.MyTests.dll

Opzioni

L'elenco seguente descrive solo le opzioni della piattaforma. Per visualizzare le opzioni specifiche portate da ogni estensione, fare riferimento alla pagina della documentazione dell'estensione o usare l'opzione --help.

  • --diagnostic

Abilita la registrazione diagnostica. Il livello di log predefinito è Trace. Il file viene scritto nella directory di output con il formato del nome seguente, log_[MMddHHssfff].diag.

  • --diagnostic-filelogger-synchronouswrite

Forza il logger di file integrato a scrivere i log in modo sincrono. Utile per gli scenari in cui non si vuole perdere nessuna voce di registro (se il processo si arresta in modo anomalo). In questo modo viene rallentata l'esecuzione dei test.

  • --diagnostic-output-directory

La directory di output della registrazione diagnostica. Se non specificato, il file viene generato nella directory predefinita TestResults.

  • --diagnostic-output-fileprefix

Il prefisso del nome del file di log. Il valore predefinito è "log_".

  • --diagnostic-verbosity

Definisce il livello di dettaglio quando viene usata l'opzione --diagnostic. I valori disponibili sono Trace, Debug, Information, Warning, Erroro Critical.

  • --help

Stampa le istruzioni di utilizzo del comando.

  • -ignore-exit-code

Consente di ignorare alcuni codici di uscita diversi da zero e di restituirli come 0. Per altre informazioni, vedere Ignorare codici di uscita specifici.

  • --info

Visualizza informazioni avanzate sull'applicazione di test .NET, ad esempio:

  • La piattaforma.
  • L’ambiente.
  • Ogni provider della riga di comando registrato, ad esempio, name, version, description e options.
  • Ogni strumento registrato, ad esempio, command, name, version, description e tutti i provider della riga di comando.

Questa funzionalità viene usata per comprendere le estensioni che registrano la stessa opzione della riga di comando o le modifiche alle opzioni disponibili tra più versioni di un'estensione (o della piattaforma).

  • --list-tests

Elencare i test disponibili. I test non verranno eseguiti.

  • --minimum-expected-tests

Specifica il numero minimo di test che devono essere eseguiti. Per impostazione predefinita, è previsto che venga eseguito almeno un test.

  • --results-directory

Directory in cui verranno inseriti i risultati del test. Se la directory specificata non esiste, viene creata. Il valore predefinito è TestResults nella directory che contiene l'applicazione di test.

Vedi anche