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.
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>
.