Eseguire test unitari con Esplora Test
Usare Test Explorer per eseguire unit test dai progetti di Visual Studio o da progetti di terze parti. È anche possibile usare Esplora test per raggruppare i test in categorie, filtrare l'elenco di test e creare, salvare ed eseguire playlist di test. È anche possibile usare Esplora test per eseguire il debug di unit test e, in Visual Studio Enterprise, per analizzare il code coverage.
Esplora Test può eseguire test da più progetti di test in una soluzione e da classi di test che fanno parte dei progetti di codice di produzione. I progetti di test possono usare framework di unit test diversi. Quando il codice sottoposto a test viene scritto per .NET, il progetto di test può essere scritto in qualsiasi linguaggio destinato anche a .NET, indipendentemente dal linguaggio del codice di destinazione. I progetti di codice C/C++ nativi devono essere testati usando un framework di unit test C++.
Compilare il progetto di test
Se non è già stato configurato un progetto di test nella soluzione Visual Studio, è prima necessario creare e compilare un progetto di test.
Visual Studio include i framework di unit test Microsoft per codice gestito e nativo. Esplora test può tuttavia eseguire anche qualsiasi framework di unit test che ha implementato un adattatore Esplora test. Per altre informazioni sull'installazione di framework di unit test di terze parti, vedere Installare framework di unit test di terze parti
Eseguire test in Esplora Test
Quando si compila il progetto di test, i test vengono visualizzati in Esplora test. Se Esplora Test non è visibile, scegliere Test dal menu di Visual Studio e quindi scegliere Esplora Test (oppure premere Ctrl + E, T).
Durante l'esecuzione, la scrittura e la riesecuzione dei tuoi test, Esplora test visualizza i risultati in un raggruppamento predefinito di Project, spazio dei nomi , e classe . È possibile modificare il modo in cui Esplora test raggruppa i test.
È possibile eseguire gran parte del lavoro di ricerca, organizzazione ed esecuzione di test dalla barra degli strumenti Esplora test.
Esegui i test
È possibile eseguire tutti i test nella soluzione, tutti i test in un gruppo o un set di test selezionati. Eseguire una delle operazioni seguenti:
Per eseguire tutti i test nella soluzione, scegliere l'icona Esegui Tutto (oppure premere Ctrl + R, V).
Per eseguire tutti i test in un gruppo predefinito, scegliere l'icona Esegui e quindi scegliere il gruppo dal menu.
Seleziona i singoli test da eseguire, apri il menu di scelta rapida del test selezionato e quindi scegli Esegui test selezionati oppure premi CTRL + R, T.
Se i singoli test non hanno dipendenze che impediscono l'esecuzione in qualsiasi ordine, attivare l'esecuzione di test paralleli nel menu delle impostazioni della barra degli strumenti. Ciò può ridurre notevolmente il tempo impiegato per eseguire tutti i test.
! [NOTA] Per configurare la piattaforma di destinazione (architettura del processo) per l'esecuzione di unit test, vedere Configurare l'architettura del processo per uno unit test.
Eseguire test dopo ogni compilazione
Per eseguire gli unit test dopo ogni compilazione locale, aprire l'icona delle impostazioni nella barra degli strumenti di Test Explorer e selezionare Esegui test dopo la compilazione.
Visualizzare i risultati dei test
Durante l'esecuzione, la scrittura e il rieseguimento dei test, Esplora test visualizza i risultati in gruppi di test non superati , test superati , test ignorati e test non eseguiti . Il riquadro dei dettagli nella parte inferiore o laterale di Esplora test visualizza un riepilogo dell'esecuzione del test.
Visualizzare i dettagli del test
Per visualizzare i dettagli di un singolo test, selezionare il test.
Nel riquadro dei dettagli del test vengono visualizzate le informazioni seguenti:
Nome del file di origine e numero di riga del metodo di test.
Stato del test.
La durata del tempo impiegato per eseguire il metodo di test.
Se il test non riesce, viene visualizzato anche il riquadro dei dettagli:
Messaggio restituito dal framework di unit test per il test.
Analisi dello stack al momento in cui il test non è riuscito.
Visualizzare il codice sorgente di un metodo di test
Per visualizzare il codice sorgente per un metodo di test nell'editor di Visual Studio, selezionare il test e quindi scegliere Apri test dal menu di scelta rapida (oppure premere F12).
Raggruppare e filtrare l'elenco di test
Esplora Test consente di raggruppare i test in categorie predefinite. La maggior parte dei framework di unit test eseguiti in Esplora test consente di definire categorie e coppie categoria/valore personalizzate per raggruppare i test. È anche possibile filtrare l'elenco dei test in base alle proprietà del test confrontando stringhe con queste.
Raggruppare i test nell'elenco di test
Esplora test consente di raggruppare i test in una gerarchia. Il raggruppamento di gerarchie predefinito è Project, Spazio dei nomi, e quindi Classe. Per modificare la modalità di organizzazione dei test, scegliere il pulsante Raggruppa per e selezionare un nuovo criterio di raggruppamento.
È possibile definire i propri livelli della gerarchia e raggruppare per Stato e quindi Classe, ad esempio selezionando le opzioni "Raggruppa per" nell'ordine preferito.
Esplora test consente di raggruppare i test in una gerarchia. Il raggruppamento gerarchico predefinito è Progetto, Spazio dei nomi, e quindi Classe. Per modificare la modalità di organizzazione dei test, scegliere il pulsante Raggruppa per e selezionare un nuovo criterio di raggruppamento.
È possibile definire livelli personalizzati della gerarchia e raggruppare per Stato e successivamente Classe, ad esempio selezionando le opzioni Raggruppa per nell'ordine preferito.
Gruppi di Esplorazione Test
Gruppo | Descrizione |
---|---|
durata | Raggruppa i test in base al tempo di esecuzione: Fast, Mediume Slow. |
stato | Raggruppa i test in base ai risultati dell'esecuzione: Test falliti, Test saltati, Test superati, Test non eseguiti |
Il Framework di Destinazione | Raggruppa i test in base al framework di destinazione dei progetti |
Namespace | Raggruppa i test in base allo spazio dei nomi contenitore. |
Progetto | Raggruppa i test in base al progetto contenitore. |
classe | Raggruppa i test in base alla classe contenitore. |
Tratti
Un tratto è in genere una coppia nome/valore di categoria, ma può anche essere una singola categoria. I tratti possono essere assegnati ai metodi identificati come metodo di test dal framework di unit test. Un framework di unit test può definire categorie di tratti. È possibile aggiungere valori alle categorie di tratto per definire coppie nome/valore di categoria personalizzate. La sintassi per specificare categorie di tratti e valori è definita dal framework di unit test.
I Tratti nel framework di Microsoft per i test unitari del codice gestito
Nel framework di unit test di Microsoft per le app gestite, si definisce una coppia nome/valore del tratto in un attributo TestPropertyAttribute. Il framework di test contiene anche questi tratti predefiniti:
Tratto | Descrizione |
---|---|
OwnerAttribute | La categoria Proprietario è definita dal framework di unit test e richiede di fornire un valore stringa del proprietario. |
PriorityAttribute | La categoria Priorità è definita dal framework di unit test e richiede di specificare un valore intero della priorità. |
TestCategoryAttribute | L'attributo TestCategory consente di specificare la categoria di un unit test. |
TestPropertyAttribute | L'attributo TestProperty consente di definire la coppia categoria/valore del tratto. |
Tratti nel Framework di Test Unitari di Microsoft per C++
Consulta come usare il Microsoft Unit Testing Framework per C++.
Creare playlist personalizzate
È possibile creare e salvare un elenco di test da eseguire o visualizzare come gruppo. Quando si seleziona una playlist, i test nell'elenco vengono visualizzati in una nuova scheda Esplora test. È possibile aggiungere un test a più playlist.
Per creare una playlist, scegliere uno o più test in Esplora Test. Nel menu di scelta rapida scegliere Aggiungi a playlist>Nuova playlist.
La playlist viene aperta in una nuova scheda Esplora test. È possibile usare questa playlist una sola volta e quindi eliminarla oppure fare clic sul pulsante Salva nella barra degli strumenti della finestra della playlist, quindi selezionare un nome e un percorso per salvare la playlist.
Per creare una playlist, scegliere uno o più test in Esplora Test. Fare clic con il pulsante destro del mouse e scegliere Aggiungi a playlist>Nuova playlist.
Per aprire una playlist, scegliere l'icona della playlist nella barra degli strumenti di Visual Studio e selezionare un file di playlist salvato in precedenza dal menu.
Per modificare una playlist, è possibile fare clic con il pulsante destro del mouse su qualsiasi brano e usare le opzioni di menu per aggiungerlo o rimuoverlo da una playlist.
A partire da Visual Studio 2019 versione 16.7, è possibile scegliere il pulsante Modifica sulla barra degli strumenti. Le caselle di controllo verranno visualizzate accanto ai test che mostrano quali test sono inclusi ed esclusi nella playlist. Modificare i gruppi in modo desiderato.
È anche possibile selezionare o deselezionare le caselle dei gruppi principali nella gerarchia. Questa azione crea una playlist dinamica che aggiorna sempre la playlist in base ai test presenti in tale gruppo. Ad esempio, se si inserisce un segno di spunta accanto a una classe, qualsiasi test aggiunto da tale classe diventa parte di questa playlist. Se si elimina un test da tale classe, viene rimosso dalla playlist. Per altre informazioni sulle regole, salvare la playlist con il pulsante Salva sulla barra degli strumenti e aprire il file playlist creato sul disco. Questo file elenca tutte le regole e i singoli test che costituiscono una playlist.
Se vuoi creare una playlist per i tratti, usa il formato seguente per MSTest.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Usare il formato seguente per xUnit. Assicurarsi che sia presente uno spazio tra il nome TestCategory
e il [Value]
.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Rule Match="All">
<Property Name="Solution" />
<Rule Match="Any">
<Property Name="Trait" Value="TestCategory [Value]" />
</Rule>
</Rule>
</Rule>
</Playlist>
È possibile creare e salvare un elenco di test da eseguire o visualizzare come gruppo. Quando si seleziona una playlist, i test nell'elenco vengono visualizzati in una nuova scheda Esplora test. È possibile aggiungere un test a più playlist.
Per creare una playlist, scegliere uno o più test in Esplora Test. Nel menu di scelta rapida scegliere Aggiungi a playlist>Nuova playlist.
La playlist viene aperta in una nuova scheda Esplora test. È possibile usare questa playlist una sola volta e quindi eliminarla oppure fare clic sul pulsante Salva nella barra degli strumenti della finestra della playlist, quindi selezionare un nome e un percorso per salvare la playlist.
Per creare una playlist, selezionare uno o più test nell'Esplora test. Fare clic con il pulsante destro del mouse e scegliere Aggiungi a playlist>Nuova playlist.
Per aprire una playlist, scegliere l'icona della playlist nella barra degli strumenti di Visual Studio e selezionare un file di playlist salvato in precedenza dal menu.
Per modificare una playlist, è possibile fare clic con il pulsante destro del mouse su qualsiasi elemento e usare le opzioni di menu per aggiungerlo o rimuoverlo da una playlist.
A partire da Visual Studio 2019 versione 16.7, è possibile scegliere il pulsante Modifica sulla barra degli strumenti. Le caselle di controllo verranno visualizzate accanto ai test che mostrano quali test sono inclusi ed esclusi nella playlist. Modificare i gruppi in modo desiderato.
È anche possibile selezionare o deselezionare le caselle dei gruppi padre nella gerarchia. Questa azione crea una playlist dinamica che aggiorna sempre la playlist in base ai test presenti in tale gruppo. Ad esempio, se si inserisce un segno di spunta accanto a una classe, qualsiasi test aggiunto da tale classe diventa parte di questa playlist. Se si elimina un test da tale classe, viene rimosso dalla playlist. Per altre informazioni sulle regole, salvare la playlist con il pulsante Salva sulla barra degli strumenti e aprire il file playlist creato sul disco. Questo file elenca tutte le regole e i singoli test che costituiscono una playlist.
Se vuoi creare una playlist per i tratti, usa il formato seguente per MSTest.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Property Name="Trait" Value="SchemaUpdateBasic" />
</Rule>
</Playlist>
Usare il formato seguente per xUnit. Assicurarsi che sia presente uno spazio tra il nome TestCategory
e il [Value]
.
<Playlist Version="2.0">
<Rule Name="Includes" Match="Any">
<Rule Match="All">
<Property Name="Solution" />
<Rule Match="Any">
<Property Name="Trait" Value="TestCategory [Value]" />
</Rule>
</Rule>
</Rule>
</Playlist>
Colonne dell'Esploratore di test
I gruppi di sono disponibili anche come colonne in Esplora test, insieme a Trait, Stack Trace, Error Message e Fully Qualified Name. La maggior parte delle colonne non è visibile per impostazione predefinita ed è possibile personalizzare le colonne visualizzate e l'ordine in cui vengono visualizzate.
Filtrare, ordinare e ridisporre le colonne di test
Le colonne possono essere filtrate, ordinate e riorganiizzate.
Per filtrare in base a tratti specifici, fare clic sull'icona del filtro nella parte superiore della colonna Traits.
Per modificare l'ordine delle colonne, fare clic su un'intestazione di colonna e trascinarla a sinistra o a destra.
Per ordinare una colonna, fare clic sull'intestazione della colonna. Non tutte le colonne sono ordinabili. È anche possibile ordinare in base a una colonna secondaria tenendo premuto il tasto maiusc e facendo clic su un'intestazione di colonna aggiuntiva.
Colonne di Test Explorer
I gruppi di sono disponibili anche come colonne in Esplora test, insieme a Trait, Stack Trace, Error Message e Fully Qualified Name. La maggior parte delle colonne non è visibile per impostazione predefinita ed è possibile personalizzare le colonne visualizzate e l'ordine in cui vengono visualizzate.
Filtrare, ordinare e ridisporre le colonne di test
Le colonne possono essere filtrate, ordinate e riorganiizzate.
Per filtrare in base a tratti specifici, fare clic sull'icona del filtro nella parte superiore della colonna Traits.
Per modificare l'ordine delle colonne, fare clic su un'intestazione di colonna e trascinarla a sinistra o a destra.
Per ordinare una colonna, fare clic sull'intestazione della colonna. Non tutte le colonne possono essere ordinate. È anche possibile ordinare in base a una colonna secondaria tenendo premuto il tasto Maiusc e facendo clic su un'intestazione di colonna aggiuntiva.
Cerca e filtra l'elenco dei test
È anche possibile usare i filtri di ricerca di Esplora test per limitare i metodi di test nei progetti visualizzati ed eseguiti.
Quando si digita una stringa nella casella di ricerca
Per filtrare in base a criteri diversi:
Aprire l'elenco a discesa a destra della casella di ricerca.
Scegliere un nuovo criterio.
Immettere il valore del filtro tra virgolette. Se si desidera cercare una corrispondenza esatta nella stringa anziché una corrispondenza parziale, usare un segno uguale (=) anziché i due punti (:).
Nota
Le ricerche non fanno distinzione tra maiuscole e minuscole e corrispondono alla stringa specificata a qualsiasi parte del valore dei criteri.
Qualificatore | Descrizione |
---|---|
stato | Cerca le corrispondenze nei nomi delle categorie di Test Explorer: Test non superati, Test ignorati, Test superati. |
tratti | Cerca sia le categorie di tratti che i valori per trovare corrispondenze. La sintassi per specificare categorie di tratti e valori è definita dal framework di unit test. |
Nome completo qualificato | Cerca corrispondenze nel nome qualificato completo degli spazi dei nomi, delle classi e dei metodi di test. |
Progetto | Cerca le corrispondenze nei nomi dei progetti di test. |
framework di destinazione | Ricerca le corrispondenze nei framework di test. |
Namespace | Cerca le corrispondenze nei namespace di test. |
Classe | Cerca le corrispondenze nei nomi delle classi di test. |
Per escludere un subset dei risultati di un filtro, utilizzare la sintassi seguente:
FilterName:"Criteria" -FilterName:"SubsetCriteria"
Ad esempio, FullName:"MyClass" - FullName:"PerfTest"
restituisce tutti i test che includono "MyClass" nel nome, ad eccezione dei test che includono anche "PerfTest" nel nome.
Analizzare il code coverage degli unit test
È possibile determinare la quantità di codice prodotto effettivamente testato dagli unit test usando lo strumento di copertura di Visual Studio Code disponibile in Visual Studio Enterprise Edition. È possibile eseguire code coverage su test selezionati o su tutti i test in una soluzione.
Per eseguire la copertura del codice per i metodi di test in una soluzione:
- Fare clic con il pulsante destro del mouse su Esplora test e selezionare Analizza copertura del codice per i test selezionati
Nella finestra Risultati della copertura del codice viene mostrata la percentuale dei blocchi di codice del prodotto eseguiti per riga, funzione, classe, spazio dei nomi e modulo.
Per ulteriori informazioni, vedere Utilizzare la copertura del codice per determinare quanto codice viene testato.
Scorciatoie di test
I test possono essere eseguiti da Test Explorer facendo clic con il tasto destro del mouse su un test nell'editor di codice e selezionando Esegui test oppure usando le scorciatoie predefinite di Test Explorer in Visual Studio. Alcuni collegamenti sono basati sul contesto. Questo significa che eseguono test di debug ,o di profilo , in base alla posizione del cursore nell'editor di codice. Se il cursore si trova all'interno di un metodo di test, quest'ultimo viene eseguito. Se il cursore è posizionato a livello di classe, tutti i test in tale classe vengono eseguiti. Questo è lo stesso anche per il livello dello spazio dei nomi.
Comandi frequenti | Tasti di scelta rapida |
---|---|
TestExplorer.DebugAllTestsInContext | CTRL+R, CTRL+T |
TestExplorer.RunAllTestsInContext | CTRL+R, T |
TestExplorer.RunAllTests | CTRL+R, A |
TestExplorer.RepeatLastRun | CTRL+R, L |
Nota
Non è possibile eseguire un test in una classe astratta, perché i test vengono definiti solo in tali classi senza essere istanziati. Per eseguire test in classi astratte, creare una classe che deriva dalla classe astratta.
Testare il segnale audio
Test Explorer può riprodurre un suono al termine di un test. Ci sono due suoni: un suono per indicare che l'esecuzione del test ha avuto esito positivo con tutti i test superati e un secondo suono per indicare l'esecuzione del test completata con almeno un test non superato. Puoi configurare questi suoni nella finestra di dialogo audio predefinita di Windows 11. Questa funzionalità è disponibile a partire da Visual Studio 2019 Update 16.9 Preview 3.
- Apri la finestra di dialogo audio predefinita di Windows 11.
- Passare alla scheda Suoni.
- Trova la categoria Microsoft Visual Studio. Scegli i suoni Test riuscito o Test fallito per selezionare i suoni predefiniti o sfogliare fino al proprio file audio.