Domande frequenti su Esplora test di Visual Studio
Individuazione dinamica dei test
Test Explorer non individua i test definiti in modo dinamico (ad esempio teorie, adattatori personalizzati, tratti personalizzati e istruzioni #ifdef). Come è possibile assicurarsi che rilevi questi test?
Compilare il progetto per eseguire l'individuazione tramite assembly.
L'individuazione dei test in tempo reale è l'individuazione dei test basata sulla sorgente. Non è possibile individuare test che usano teorie, adattatori personalizzati, tratti personalizzati, istruzioni #ifdef
e altro ancora perché sono definiti in fase di esecuzione. Per trovare con precisione questi test, è necessaria una compilazione.
In Visual Studio 2017 versione 15.6 e successive, l'individuazione basata su assembly (individuazione tradizionale) viene eseguita solo dopo le compilazioni. Questa impostazione indica che l'individuazione dei test in tempo reale trova il maggior numero possibile di test durante la modifica. L'individuazione basata su assembly consente la visualizzazione di test definiti dinamicamente dopo una compilazione.
L'individuazione dei test in tempo reale migliora la velocità di risposta, ma consente comunque di ottenere risultati completi e precisi dopo una compilazione.
Simbolo più (+) di Test Explorer
Cosa significa il simbolo più visualizzato nella parte superiore di Esplora test?
Il simbolo più (+) indica che potrebbero essere individuati più test dopo una compilazione durante l'esecuzione dell'individuazione basata su assembly. Questo simbolo viene visualizzato se vengono rilevati test definiti dinamicamente nel progetto.
Scoperta dei test in tempo reale
I test vengono ora visualizzati in Esplora test durante la digitazione, senza che sia necessario compilare il progetto. Cosa è cambiato?
Questa funzionalità viene chiamata individuazione dei test in tempo reale. Usa un analizzatore Roslyn per trovare i test e popolare Esplora test in tempo reale, senza dover compilare il progetto. Per altre informazioni sul comportamento di individuazione dei test per test definiti dinamicamente, ad esempio teorie o tratti personalizzati, vedere individuazione dinamica dei test più indietro in questo articolo.
Compatibilità per l'individuazione dei test in tempo reale
Quali linguaggi e framework di test possono usare l'individuazione dei test in tempo reale?
l'individuazione dei test in tempo reale funziona solo per i linguaggi gestiti (C# e Visual Basic), perché viene compilato tramite il compilatore Roslyn. Per il momento, l'individuazione dei test in tempo reale funziona solo per i framework xUnit, NUnit e MSTest.
Log dell'Esploratore dei test
Come è possibile attivare i log per Esplora test?
Passare a Tools>Options>Test e trovare la sezione di registrazione.
Individuazione di test UWP
Perché i test nei progetti UWP non vengono individuati fino a quando non si distribuisce l'app?
I test della piattaforma UWP (Universal Windows Platform) hanno come destinazione un runtime diverso quando l'app viene distribuita. Per trovare i test in modo accurato per i progetti UWP, è necessario non solo compilare il progetto, ma anche distribuirlo.
Ordinamento di Esplora test
Come funziona l'ordinamento dei risultati dei test nella visualizzazione gerarchia?
La visualizzazione gerarchia ordina i test in ordine alfabetico, non in base al risultato. Le impostazioni precedenti raggruppano per ordine i risultati dei test in base al risultato e quindi alfabeticamente. È comunque possibile abilitare l'ordinamento in base al risultato facendo clic con il pulsante destro del mouse sull'intestazione di colonna in Esplora Test, abilitando la colonna Stato, e quindi selezionando l'intestazione di colonna Stato per applicare l'ordinamento a quella colonna. È possibile fornire commenti e suggerimenti sulla progettazione in questo problema di GitHub.
Vista gerarchica di Esplora Test
Nella visualizzazione gerarchica, accanto ai raggruppamenti di nodi padre, ci sono le icone passate, non riuscite, ignorate e non eseguite. Cosa significano queste icone?
Le icone accanto ai raggruppamenti Project, Namespacee Classi mostrano lo stato dei test all'interno di ciascun raggruppamento. Vedere la tabella seguente.
Ricerche in base al percorso del file
Perché non è più presente un filtro percorso file nella casella di ricerca Esplora test?
Il filtro percorso file nella casella di ricerca Esplora test è stato rimosso in Visual Studio 2017 versione 15.7. Questa funzionalità ha un utilizzo ridotto e Esplora test può recuperare i metodi di test più velocemente lasciandolo fuori. Se questa modifica interrompe il flusso di sviluppo, inviare commenti e suggerimenti su Developer Community.
Rimozione di interfacce non documentate
Alcune API correlate ai test non sono più presenti in Visual Studio 2019. Cosa è cambiato?
In Visual Studio 2019 alcune API della finestra di test contrassegnate in precedenza come pubbliche ma non sono mai state documentate ufficialmente verranno rimosse. Sono stati contrassegnati come deprecati in Visual Studio 2017 per fornire ai gestori delle estensioni un avviso anticipato. A nostro conoscenza, pochissime estensioni hanno trovato queste API e hanno preso una dipendenza da essi. Includono IGroupByProvider
, IGroupByProvider<T>
, KeyComparer
, ISearchFilter
, ISearchFilterToken
, ISearchToken
e SearchFilterTokenType
.
Se questa modifica influisce sulla vostra estensione, segnalate un bug in Developer Community.
Riferimento NuGet per l'adattatore di test
Perché i miei test non vengono eseguiti in Visual Studio 2017 versione 15.8, anche se vengono individuati?
Tutti i progetti di test devono includere il riferimento NuGet dell'adattatore di test .NET nel file con estensione csproj. In caso contrario, l'output di test seguente viene visualizzato nel progetto se l'individuazione da parte di un'estensione dell'adattatore di test viene avviata dopo una compilazione o se si tenta di eseguire i test selezionati:
Il progetto di test {} non fa riferimento ad alcuna scheda NuGet .NET. L'individuazione o l'esecuzione dei test potrebbero non funzionare per questo progetto. È consigliabile fare riferimento agli adattatori di test NuGet in ogni progetto di test .NET nella soluzione.
Invece di utilizzare le estensioni degli adattatori di test, i progetti devono usare i pacchetti NuGet per l'adattatore di test. Questo requisito migliora notevolmente le prestazioni e causa un minor numero di problemi con l'integrazione continua. Altre informazioni sulla deprecazione delle estensioni dell'adattatore di test .NET sono disponibili nelle note sulla versione .
TestContainer UWP non trovato
Perché i test UWP non sono più in esecuzione in Visual Studio 2017 versione 15.7 e successive?
I progetti di test UWP recenti specificano una proprietà di compilazione che consente prestazioni migliori per identificare le app di test. Se si dispone di un progetto di test UWP inizializzato prima di Visual Studio versione 15.7, è possibile che venga visualizzato questo errore in Output>Test:
System.AggregateException: si sono verificati uno o più errori. ---> System.InvalidOperationException: il testcontainer seguente non è stato trovato {} in Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider <GetTestContainerAsync>d__61.MoveNext()
Per correggere l'errore:
Aggiornare la proprietà di compilazione per i progetti di test usando il codice seguente:
<UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
Aggiornare la versione di TestPlatform SDK usando il codice seguente:
<SDKReference Include="TestPlatform.Universal, Version=$(UnitTestPlatformVersion)" />
Funzionalità di anteprima
Come è possibile usare le funzionalità di anteprima in Visual Studio 2019?
In Visual Studio 2019, è possibile scegliere di attivare le funzionalità di anteprima in Strumenti >Opzioni>Ambiente>Funzionalità di anteprima.