Esecuzione di unit test con Esplora test

Visual Studio Esplora test aiuta ad integrare i test d'unità nel processo di sviluppo.È possibile eseguire test dai progetti di test e da classi di test che fanno parte dei progetti di codice di produzione.I progetti di test possono utilizzare i diversi framework di test d'unità.In questo argomento, è possibile ottenere ulteriori informazioni su:

Contenuto della sezione

Framework e progetti dei test d'unità

Eseguire i test in Esplora test

  • Sono in esecuzione test

  • Esecuzione di test dopo ogni compilazione

Per visualizzare i risultati dei test

  • Visualizzare i dettagli dei test

  • Visualizzare il codice sorgente di un metodo di test.

Raggruppamento e filtrandoli l'elenco di test

  • Raggruppare l'elenco di test

  • Raggruppamento dei tratti

  • Individuare e filtrare l'elenco di test

Unit test di debug

Analisi del code coverage di unit test

Diagnosi dei problemi di prestazioni del metodo di test

Risorse esterne

  • Linee guida

Framework e progetti dei test d'unità

Visual Studio include i framework per i test d'unità Microsoft per codice gestito e codice nativo.Tuttavia, Esplora test può anche eseguire qualsiasi framework per test d'unità che implementi un adattatore ad Esplora test.Per ulteriori informazioni sull'installazione dei framework di terze parti di test d'unità, vedere Procedura: installare framework unit test di terze parti

È possibile eseguire test dai progetti di test e da classi di test che fanno parte dei progetti di codice di produzione.I progetti di test possono utilizzare i diversi framework di test d'unità.Quando il codice sotto test è stato scritto per .NET Framework, il progetto di test può essere scritto in qualsiasi linguaggio .NET, indipendentemente dal codice di destinazione.I progetti di codice C/C++ nativi devono essere testati tramite il framework unit test c++.

Contenuto della sezione

Eseguire i 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, scegliere Windows, quindi scegliere Esplora test.

Esplora unit test

Quando si esegue, si scrive e si riesegue i test, Esplora test mostra i risultati nei gruppi predefiniti Test non superati, Test superati, Test ignorati e Test non eseguiti.È possibile modificare la modalità con cui Esplora test raggruppa i test.

È possibile eseguire molte delle operazioni di ricerca, dell'organizzazione ed eseguire i test dalla barra degli strumenti di Esplora test.

Eseguire test dalla barra degli strumenti di Esplora test

Hh270865.collapse_all(it-it,VS.110).gifSono in esecuzione test

È possibile eseguire tutti i test nella soluzione, tutti i test in un gruppo, o un gruppo di test selezionati.Eseguire una delle operazioni seguenti:

  • Per eseguire tutti i test in una soluzione, scegliere Esegui tutto.

  • Per eseguire tutti i test in un gruppo predefinito, scegliere Esegui… quindi selezionare il gruppo dal menu.

  • Selezionare i singoli test da eseguire, scegliere dal menu di scelta rapida per un test quindi scegliere Esegui test selezionati.

La barra superato/non superato nella parte superiore della finestra di esplorazione del test viene eseguita durante l'esecuzione.Al termine dell'esecuzione del test, la barra superato/non superato diventa verde se tutti i test passano oppure rossa se qualcuno ha esito negativo.

Hh270865.collapse_all(it-it,VS.110).gifEsecuzione di test dopo ogni compilazione

Nota di avvisoAttenzione

L'esecuzione di unit test dopo ogni compilazione è supportata solo in Visual Studio Ultimate.

Esecuzione dopo la compilazione

Per eseguire gli unit test dopo ogni compilazione locale, selezionare Test dal menu standard, scegliere Esegui test dopo compilazione nella barra degli strumenti Esplora test.

Contenuto della sezione

Per visualizzare i risultati dei test

Quando si esegue, si scrive e si riesegue i test, Esplora test mostra i risultati nei gruppi Test non superati, Test superati, Test ignorati e Test non eseguiti.Il riquadro dei dettagli nella parte inferiore di Esplora test visualizza un riepilogo dell'esecuzione dei test.

Hh270865.collapse_all(it-it,VS.110).gifVisualizzare i dettagli dei test

Per visualizzare i dettagli di un singolo test, selezionare il test.

Nel riquadro dei dettagli del test vengono visualizzate le informazioni seguenti:

  • Il nome del file di origine e il numero di riga del metodo di test.

  • Stato del test.

  • Il tempo impiegato per l'esecuzione del metodo di test.

Se il test ha esito negativo, nel riquadro dei dettagli vengono visualizzati anche:

  • Il messaggio restituito dal framework di unit test per il test.

  • L'analisi dello stack quando il test fallisce.

Hh270865.collapse_all(it-it,VS.110).gifVisualizzare 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 (tastiera: F12).

Contenuto della sezione

Raggruppamento e filtrandoli l'elenco di test

Il test Esplora Risorse consente di raggruppare i test in categorie predefinite.La maggior parte dei framework di unit test che operano in esplorazione test consentono di definire le categorie personalizzate e categoria dalle coppie chiave/valore per raggruppare i test.È inoltre possibile filtrare l'elenco delle stringhe della corrispondenza alle proprietà del test.

Hh270865.collapse_all(it-it,VS.110).gifRaggruppare l'elenco di test

Per modificare la modalità di esecuzione dei test sono organizzati, scegliere la freccia in giù accanto al pulsante Pulsante di raggruppamento di Team ExplorerRaggruppa per e selezionare i nuovi criteri di raggruppamento.

Verificare i gruppi di navigazione

Raggruppare

Descrizione

Durata

I gruppi di test da tempo di esecuzione: Rapida, Medioe Lenta.

Risultato

Test dei gruppi dai risultati di esecuzione: Test non riusciti, Test ignorati, Test superati.

Considerare

I gruppi verifica bycategory dalle coppie chiave/valore definito.La sintassi per specificare le categorie e i valori di tratto è definita dal framework unit test.

Progetto

I gruppi test sotto il nome del progetto.

Hh270865.collapse_all(it-it,VS.110).gifRaggruppamento dei tratti

Un tratto è in genere un nome di categoria coppia di valori, ma può anche essere una singola categoria.I tratti possono essere assegnati ai metodi identificati come metodo di test dal framework unit test.Un framework di unit test può definire categorie di tratto.È possibile aggiungere valori alle categorie di tratto per definire il proprio nome della categoria dalle coppie chiave/valore.La sintassi per specificare le categorie e i valori di tratto è definita dal framework unit test.

Ad esempio, nel framework unit test Microsoft per le applicazioni gestite, definire una coppia nome/valore di tratto utilizzando TestPropertyAttribute.Il framework di unit test Microsoft contiene anche questi tratti predefiniti:

Tratto

Descrizione

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.OwnerAttribute ]

La categoria del proprietario è definita dal framework di unit test ed è necessario specificare un valore stringa proprietario.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.PriorityAttribute ]

La categoria di priorità è definita dal framework di unit test ed è necessario specificare un valore Integer di priorità.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute ]

L'attributo di TestCategory consente di fornire una categoria senza un valore.Una categoria definita dall'attributo di TestCategory può essere la categoria di attributo di TestProperty.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute ]

L'attributo di TestProperty consente di definire la categoria coppia di valori tratto.

Considerare il Framework per unit test Microsoft per C++

Per definire un tratto, utilizzare la macro di TEST_METHOD_ATTRIBUTE.Ad esempio, definire un tratto denominato TEST_MY_TRAIT:

#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)

Per utilizzare il tratto definito negli unit test:

BEGIN_TEST_METHOD_ATTRIBUTE(Method1)
    TEST_OWNER(L"OwnerName")
    TEST_PRIORITY(1)
    TEST_MY_TRAIT(L"thisTraitValue")
END_TEST_METHOD_ATTRIBUTE()

TEST_METHOD(Method1)
{   
    Logger::WriteMessage("In Method1");
    Assert::AreEqual(0, 0);
}

Macro di attributo di tratto C++

Macro

Descrizione

TEST_METHOD_ATTRIBUTE(attributeName, attributeValue)

Utilizzare la macro di TEST_METHOD_ATTRIBUTE per definire un tratto.

TEST_OWNER(ownerAlias)

Utilizzare il tratto predefinito del proprietario per specificare un proprietario del metodo di test.

TEST_PRIORITY(priority)

Utilizzare il tratto predefinito di priorità per assegnare le priorità relative ai metodi di test.

Contenuto della sezione

Hh270865.collapse_all(it-it,VS.110).gifIndividuare e filtrare l'elenco di test

È possibile utilizzare filtri di navigazione dal test per limitare i metodi di test nei progetti visualizzate ed eseguito.

Quando si digita una stringa nella casella di ricerca di navigazione del test e aver premuto INVIO, l'elenco di test viene filtrato per visualizzare solo i test di cui nomi completi contengono la stringa.

Per filtrare dai diversi criteri:

  1. Aprire l'elenco a discesa a destra della casella di ricerca.

  2. Scegliere i nuovi criteri.

  3. Immettere il valore del filtro tra virgolette.

Categorie di filtri di ricerca

[!NOTA]

Le ricerche non viene fatta distinzione tra maiuscole e minuscole e corrispondono alla stringa specificata a parte dei criteri di valore.

Qualificatore

Descrizione

Tratto

Cercherà la categoria che il valore di tratto le corrispondenze.La sintassi per specificare categorie di tratto e i valori sono definiti dal framework unit test.

Progetto

Cerca i nomi di progetto di test le corrispondenze.

Messaggio di errore

Cerca i messaggi di errore definiti dall'utente restituiti dalle asserzioni non soddisfatte le corrispondenze.

Percorso del file

Cerca il nome file completo dei file di origine del test le corrispondenze.

Nome completo

Cerca il nome file completo degli spazi dei nomi, classi e metodi di test le corrispondenze.

Output

Cerca i messaggi di errore definiti dall'utente vengono scritti nell'output standard (stdout) oerrore standard (stderr).La sintassi per specificare i messaggi in uscita viene definita dal framework unit test.

Risultato

Cerca i nomi di categoria di navigazione del test corrispondenze: Test non riusciti, Test ignorati, Test superati.

Contenuto della sezione

Unit test di debug

È possibile utilizzare Esplora test per avviare una sessione di debug per i test.L'esecuzione passo passo del codice con il debugger di Visual Studio porta in modo semplice avanti e indietro tra unit test e il progetto sottoposto a test.Per avviare il debug:

  1. Nell'editor di Visual Studio, impostare un punto di interruzione in uno o più metodi di test sui quali si desidera eseguire il debug.

    [!NOTA]

    Poiché i metodi di test possono essere eseguiti in qualsiasi ordine, impostare i punti di interruzione in tutti i metodi di test sui quali si desidera eseguire il debug.

  2. In Esplora test, selezionare i metodi di test e quindi scegliere Esegui debug test selezionati dal menu di scelta rapida.

Per ulteriori informazioni riguardo al debugger, vedere Debug in Visual Studio.

Contenuto della sezione

Analisi del code coverage di unit test

[!NOTA]

Il code coverage dei test d'unità è disponibile solo in Visual Studio ultimate e Visual Studio premium.

È possibile determinare la quantità di codice del prodotto che effettivamente viene testata dagli unit test utilizzando lo strumento di code coverage di Visual Studio.È possibile eseguire code coverage sui test selezionati o su tutti i test in una soluzione.

Per eseguire code coverage per i metodi di test in una soluzione:

  1. Scegliere Test dal menu di Visual Studio e quindi scegliere Analizza code coverage.

  2. Scegliere uno dei seguenti comandi dal sotto menu:

    • Test selezionati esegue i metodi di test selezionati in Esplora Test.

    • Tutti i test esegue tutti i metodi di test nella soluzione.

La finestra Risultati code coverage visualizza la percentuale dei blocchi di codice del prodotto testati per riga, funzione, classe, spazio dei nomi e modulo.

Per ulteriori informazioni, vedere Utilizzo di code coverage per determinare la quantità di codice testato.

Contenuto della sezione

Diagnosi dei problemi di prestazioni del metodo di test

Per diagnosticare perché un metodo di test sta richiedendo troppo tempo, selezionare il metodo di test Esplora Soluzioni e quindi scegliere Profilo il menu di scelta rapida.Vedere Analisi delle prestazioni dell'applicazione tramite gli strumenti di profilatura

Contenuto della sezione

Risorse esterne

Hh270865.collapse_all(it-it,VS.110).gifLinee guida

Verifica della Continuous Delivery con Visual Studio 2012 – Capitolo 2: Test delle Unità: Test dell'interno

Vedere anche

Concetti

Verifica del codice tramite unit test

Procedura: eseguire uno unit test come processo a 64 bit