Condividi tramite


Estensione VSTest Bridge

Questa estensione fornisce un livello di compatibilità con VSTest che consente ai framework di test a seconda di esso di continuare a supportare l'esecuzione in modalità VSTest (vstest.console.exe, dotnet testconsueto , VSTest task in AzDo, Esplora test di Visual Studio e Visual Studio Code...). Questa estensione viene fornita come parte del pacchetto Microsoft.Testing.Extensions.VSTestBridge.

Compatibilità con VSTest

Lo scopo principale di questa estensione è offrire un'esperienza di aggiornamento semplice e uniforme per gli utenti di VSTest consentendo una doppia modalità in cui la nuova piattaforma è abilitata e in parallelo viene offerta una modalità di compatibilità per consentire ai normali flussi di lavoro di continuare a funzionare.

Supporto di Runsettings

Questa estensione consente di fornire un VSTest .runsettings file, ma non tutte le opzioni in questo file vengono prelevate dalla piattaforma. Di seguito vengono descritte le impostazioni supportate e non supportate, le opzioni di configurazione e le alternative per le opzioni di configurazione VSTest più usate.

Quando il framework di test è abilitato, è possibile usare --settings <SETTINGS_FILE> per fornire il file .runsettings.

Elemento RunConfiguration

Gli elementi RunConfiguration seguenti non sono supportati da Microsoft.Testing.Platform:

Nodo Descrizione Ragione/Soluzione alternativa
MaxCpuCount Questa impostazione controlla il livello di parallelismo a livello di processo. Usare 0 per abilitare il parallelismo massimo a livello di processo. Quando Microsoft.Testing.Platform viene usato con MSBuild, questa opzione viene offloaded in MSBuild. Quando viene eseguito un singolo eseguibile, questa opzione non ha alcun significato per Microsoft.Testing.Platform.
DirectoryRisultati Directory in cui vengono inseriti i risultati del test. Il percorso è relativo alla directory che contiene il file .runsettings. Usare l'opzione della riga di comando --results-directory per determinare la 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.
TargetFrameworkVersion Questa impostazione definisce la versione del framework o la famiglia di framework da usare per eseguire i test. Questa opzione viene ignorata. Le proprietà <TargetFramework> o <TargetFrameworks> MSBuild determinano il framework di destinazione dell'applicazione. I test sono ospitati nell'applicazione finale.
TargetPlatform Questa impostazione definisce l'architettura da usare per eseguire i test. <RuntimeIdentifier> determina l'architettura dell'applicazione finale che ospita i test.
TrattaGliErroriDell'AdattatoreDiTestComeAvvertimenti Sopprime gli errori dell'adattatore di test trasformandoli in avvisi. Microsoft.Testing.Platform consente l'esecuzione di un solo tipo di test da un singolo assembly e il mancato caricamento del framework di test o di altre parti dell'infrastruttura diventerà un errore non ignorabile, perché indica che alcuni test non possono essere individuati o eseguiti.
TestAdaptersPaths Uno o più percorsi verso la directory in cui si trovano i TestAdapter. Microsoft.Testing.Platform non usa il concetto di adattatori di test e non consente il caricamento dinamico delle estensioni a meno che non facciano parte della compilazione e siano registrati in Program.cs, automaticamente tramite destinazioni di compilazione o manualmente.
TestCaseFilter Filtro per limitare i test che verranno eseguiti. A partire dalla versione 1.6, questa voce runsettings è ora supportata. Prima di questa versione, dovresti usare l'opzione della riga di comando --filter.
testSessionTimeout Consente agli utenti di terminare una sessione di test quando supera un determinato timeout. Non esiste alcuna opzione alternativa.
DotnetHostPath Specificare un percorso personalizzato per l'host dotnet utilizzato per eseguire il test host. Microsoft.Testing.Platform non esegue alcuna risoluzione aggiuntiva di dotnet. Dipende completamente dal modo in cui dotnet si risolve, che può essere controllato da variabili di ambiente, ad esempio DOTNET_HOST_PATH.
TrattaNessunTestComeErrore Uscire con un codice di uscita diverso da zero quando non si individuano test. Microsoft.Testing.Platform genererà un errore per impostazione predefinita quando non vengono scoperti o eseguiti test in un'applicazione di test. È possibile impostare il numero di test che si prevede di trovare nell'assembly usando --minimum-expected-tests parametro della riga di comando, che per impostazione predefinita è 1.

Elemento DataCollectors

Microsoft.Testing.Platform non usa agenti di raccolta dati. Ha invece il concetto di estensioni in-process e out-of-process. Ogni estensione viene configurata dal rispettivo file di configurazione o dalla riga di comando.

Soprattutto le estensioni di sospensione e di arresto anomalo, e l'estensione di code coverage .

Elemento LoggerRunSettings

I logger in Microsoft.Testing.Platform vengono configurati tramite parametri della riga di comando o dalle impostazioni nel codice.

Supporto dei filtri VSTest

Questa estensione offre anche la possibilità di usare il meccanismo di filtro VSTest per individuare o eseguire solo i test che corrispondono all'espressione di filtro. Per altre informazioni, vedere la sezione dettagli dell'opzione filtro o per informazioni specifiche sul framework, vedere la pagina Esecuzione di unit test selettivi.

Se abilitato dal framework di test, è possibile usare --filter <FILTER_EXPRESSION>.

Parametri TestRun

È possibile passare i parametri all'esecuzione del test usando l'opzione della riga di comando --test-parameters nel formato key=value. Questa opzione può essere specificata più volte, una per ogni parametro da impostare.

Questi parametri possono quindi essere accessibili dal framework di test nell'esecuzione del test: