Domande frequenti su Esplora test di Visual Studio
Individuazione dinamica dei test
Esplora Test 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 basata su assembly.
L'individuazione dei test in tempo reale è un'individuazione dei test basata sull'origine. 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 mentre sei in fase di 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 riga 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.
Individuazione 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 di Esploratore di Test
Come è possibile attivare i log per Esplora test?
Vai a Tools>Options>Test e trova lì la sezione registrazione.
Individuazione dei 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 in Test Explorer
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 Test Explorer, abilitando la colonna Stato e quindi selezionando l'intestazione di colonna Stato per applicare l'ordinamento in tale colonna. È possibile fornire commenti e suggerimenti sulla progettazione in questa discussione di GitHub .
Visualizzazione gerarchica di Test Explorer
Nella visualizzazione gerarchica, ci sono icone di esecuzioni riuscite, non riuscite, ignorate e non eseguite accanto ai raggruppamenti dei nodi genitore. Cosa significano queste icone?
Le icone accanto al Project, al Namespacee al raggruppamento di classe 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 del percorso del file nella barra di ricerca di Esplora Test è stato rimosso in Visual Studio 2017 versione 15.7. Questa caratteristica ha un utilizzo ridotto ed Esplora test può recuperare i metodi di test più velocemente escludendola. Se questa modifica interrompe il flusso di sviluppo, fatecelo sapere inviando 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 tua estensione, segnalaci un bug su Developer Community.
Riferimento NuGet per l'adapter di test
Perché i 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 .csproj. Se non lo fanno, viene visualizzato il seguente output del test nel progetto se l'individuazione tramite un'estensione dell'adattatore di test inizia dopo una compilazione, oppure se provi a eseguire i test selezionati.
Il progetto di test {} non fa riferimento ad alcun adattatore 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 usare le estensioni dell'adattatore di test, i progetti devono utilizzare pacchetti NuGet per adattatori di test. Questo requisito migliora notevolmente le prestazioni e causa un minor numero di problemi con l'integrazione continua. Per ulteriori informazioni sulla deprecazione delle estensioni dell'adattatore di test .NET, consultare le note di rilascio .
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 disponi di un progetto di test UWP inizializzato prima di Visual Studio versione 15.7, potrebbe apparire 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:
Aggiorna la proprietà di build per i progetti di test utilizzando 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 attivare le funzionalità di anteprima in Strumenti di >Opzioni>Ambiente>Funzionalità di anteprima.