Estensione VSTest Bridge

Questa estensione fornisce un livello di compatibilità con VSTest che consente ai framework di test già implementati con VSTest di:

  • Esegui facilmente con Microsoft Testing.Platform (MTP) senza una riscrittura significativa.
  • Supportare sia VSTest che MTP con la stessa implementazione del framework di test.

Questa estensione viene fornita come parte del pacchetto NuGet 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 MTP:

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 MTP viene usato con MSBuild, questa opzione viene trasferita a MSBuild. Quando viene eseguito un singolo eseguibile, questa opzione non ha alcun significato per MTP.
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. MTP consente l'esecuzione di un solo tipo di test da un singolo assembly e l'impossibilità di caricare il framework di test o altre parti dell'infrastruttura diventerà un errore non ignorabile, perché indica che alcuni test non possono essere individuati o eseguiti.
PercorsiTestAdattatori Uno o più percorsi verso la directory in cui si trovano i TestAdapter. MTP non usa il concetto di adattatori di test e non consente il caricamento dinamico delle estensioni a meno che non siano parte del build e siano registrate in Program.cs, sia automaticamente tramite i target di build sia 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. MTP 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. MTP genererà un errore per default quando non vengono individuati o eseguiti test in un'applicazione di prova. È 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

MTP 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 MTP 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-parameter 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: