Share via


Estensione VSTest Bridge

Questa estensione fornisce un livello di compatibilità con VSTest consentendo ai framework di test che dipendono da essa di continuare a supportare l'esecuzione in modalità VSTest (vstest.console.exe, dotnet test consueto, 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.

Importante

Il pacchetto viene fornito gratuitamente con la libreria Microsoft .NET free per l'uso del modello di licenza.

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 viene abilitata la nuova piattaforma e parallelamente 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 file con estensione .runsettings di VSTest, ma non tutte le opzioni in questo file vengono selezionate dalla piattaforma. Di seguito vengono descritte le impostazioni supportate e non supportate, le opzioni di configurazione e le alternative più usate alle opzioni di configurazione VSTest.

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

Elemento RunConfiguration

L'elemento RunConfiguration può includere gli elementi seguenti: Nessuna di queste impostazioni viene rispettata da Microsoft.Testing.Platform:

Nodo Descrizione Motivo/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, per questa opzione viene scaricato in MSBuild. Quando viene eseguito un singolo file eseguibile, questa opzione non ha alcun significato per Microsoft.Testing.Platform.
ResultsDirectory Directory in cui vengono inseriti i risultati del test. Il percorso è relativo alla directory che contiene il file con estensione 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> di 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.
TreatTestAdapterErrorsAsWarnings Impedisce agli errori dell'adattatore di test di diventare 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 della 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 registrate in Program.cs, automaticamente tramite destinazioni di compilazione o manualmente.
TestCaseFilter Filtro per limitare i test che verranno eseguiti. Per filtrare i test, usare l'opzione --filter della riga di comando.
TestSessionTimeout Consente agli utenti di terminare una sessione di test allo scadere di un timeout specificato. Non esiste alcuna opzione alternativa.
DotnetHostPath Specificare un percorso personalizzato per l'host dotnet usato per eseguire l'host di test. 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 come DOTNET_HOST_PATH.
TreatNoTestsAsError Uscita con codice di uscita diverso da zero quando non vengono individuati test. Microsoft.Testing.Platform restituirà errori per impostazione predefinita quando non vengono individuati o eseguiti test in un'applicazione di test. È possibile impostare il numero di test che si prevede di trovare nell'assembly usando il parametro --minimum-expected-tests 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.

Le estensioni hang e crash e l'estensione code coverage sono le più importanti.

Elemento LoggerRunSettings

I logger in Microsoft.Testing.Platform vengono configurati tramite parametri della riga di comando o tramite 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>.