Esecuzione di unit test con Esplora test
Utilizzare il test Esplora test per eseguire unit test da Visual Studio o progetti di unit test di terze parti, raggruppare i test in categorie, filtrare l'elenco dei test e creare, salvare ed eseguire playlist di test.È inoltre possibile eseguire il debug dei test e analizzare le prestazioni e il code coverage del test.
Contenuto
Framework e progetti dei test d'unità
Eseguire test in Esplora test
Visualizzare i risultati dei test
Raggruppare e filtrare l'elenco di test
Creare playlist personalizzate
Eseguire il debug e analizzare gli unit test
Risorse esterne
Framework e progetti dei test d'unità
Visual Studio include i framework per i test d'unità Microsoft sia per codice gestito che per 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 destinato anche a .NET Framework, indipendentemente dal linguaggio del codice di destinazione.I progetti di codice C/C++ nativi devono essere testati tramite il framework unit test c++.
Contenuto
Eseguire test in Esplora test
Eseguire test**|**Eseguire test dopo ogni compilazione
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.
Quando si eseguono, si scrivono e si rieseguono 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.
Contenuto
Eseguire 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 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 qualche test ha esito negativo.
Contenuto
Eseguire test dopo ogni compilazione
![]() |
---|
L'esecuzione di unit test dopo ogni compilazione è supportata solo in Visual Studio Ultimate e nelle versioni Premium. |
Per eseguire gli unit test dopo ogni compilazione locale, selezionare Test dal menu standard, quindi scegliere Esegui test dopo compilazione nella barra degli strumenti Esplora test. |
Contenuto
Visualizzare i risultati dei test
Visualizzare dettagli test**|**Visualizzare il codice sorgente di un metodo di test
Quando si eseguono, si scrivono e si rieseguono 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.
Visualizzare dettagli 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.
Contenuto
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 (tastiera: F12).
Contenuto
Raggruppare e filtrare l'elenco di test
Raggruppamento dell'elenco di test**|Raggruppare per tratti|**Cercare e filtrare l'elenco di test
Esplora test consente di raggruppare i test in categorie predefinite.La maggior parte dei framework di unit test in esecuzione in Esplora test consente di definire le categorie e le coppie categoria/valore personalizzate per raggruppare i test.È inoltre possibile filtrare l'elenco di test da stringhe di corrispondenza con le proprietà del test.
Raggruppamento dell'elenco di test
Per modificare come sono organizzati i test, scegliere la freccia in giù accanto al pulsante Raggruppa per e selezionare i nuovi criteri di raggruppamento.
Gruppi di Esplora test
Raggruppare |
Descrizione |
---|---|
Durata |
Raggruppa i test per tempo di esecuzione: Veloce, Media e Lenta. |
Risultato |
Raggruppa i test in base ai risultati di esecuzione: Test non superati, Test ignorati, Test superati. |
Tratti |
Raggruppa i test per coppie categoria/chiave specificate.La sintassi per specificare i valori e le categorie di tratto viene definita dal framework unit test. |
Progetto |
Raggruppa i test in base al nome dei progetti. |
Contenuto
Raggruppare per 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 unit test.Un framework unit test è in grado di definire le categorie di tratto.È possibile aggiungere valori alle categorie di tratto per definire le coppie nome nome/valore di categoria.La sintassi per specificare i valori e le categorie di tratto viene definita dal framework unit test.
Tratti nel Framework per unit test di Microsoft per Codice gestito
Nel framework unit test Microsoft per le applicazioni gestite definire una coppia nome/valore di tratti in un attributo TestPropertyAttribute.Il framework di test contiene anche questi tratti predefiniti:
Tratto |
Descrizione |
---|---|
La categoria del proprietario è definita dal framework di unit test ed è necessario specificare un valore stringa del proprietario. |
|
La categoria Priorità è definita dal framework di unit test ed è necessario specificare un valore integer della priorità. |
|
L'attributo TestCategory consente di fornire una categoria senza un valore.Una categoria definita dall'attributo TestCategory può anche essere la categoria di un attributo TestProperty. |
|
L'attributo TestProperty consente di definire la coppia categoria/valore di tratto. |
Tratti nel Framework per unit test di Microsoft per C++
Per definire un tratto, utilizzare la macro TEST_METHOD_ATTRIBUTE.Ad esempio, per 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 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
Cercare e filtrare l'elenco di test
È possibile utilizzare filtri di Esplora test per limitare i metodi di test nei progetti visualizzati ed eseguiti.
Quando si digita una stringa nella casella di ricerca Esplora test e si sceglie INVIO, l'elenco di test viene filtrato per visualizzare solo i test di cui i nomi completi contengono la stringa.
Per filtrare per diversi criteri:
Aprire l'elenco a discesa a destra della casella di ricerca.
Scegliere un nuovo criterio.
Immettere il valore del filtro tra virgolette.
[!NOTA]
Per le ricerche non viene fatta distinzione tra maiuscole e minuscole e corrispondono alla stringa specificata in base a ogni parte del valore dei criteri.
Qualificatore |
Descrizione |
---|---|
Tratto |
Cerca corrispondenze sia nella categoria di tratto sia nel valore.La sintassi per specificare che i valori e le categorie di tratto vengono definiti dal framework unit test. |
Progetto |
Cerca corrispondenze nei nomi di progetti di test. |
Messaggio di errore |
Cerca corrispondenze nei messaggi di errore definiti dall'utente restituiti da asserzioni non riuscite. |
Percorso di file |
Cerca corrispondenze nel nome file completo di file di origine di test. |
Nome completo |
Cerca corrispondenze nel nome file completo di spazi dei nomi di test, classi e metodi. |
Output |
Cerca i messaggi di errore definiti dall'utente che vengono scritti nell'output standard (stdout) o nell'errore standard (stderr).La sintassi per specificare che i messaggi di output vengono definiti dal framework unit test. |
Risultato |
Cerca corrispondenze nei nomi della categoria Esplora test: Test non superati, Test ignorati, Test superati. |
Per escludere un subset dei risultati di un filtro, utilizzare la seguente sintassi:
FilterName:"Criteria" -FilterName:"SubsetCriteria"
Di seguito è riportato un esempio:
FullName:"MyClass" - FullName:"PerfTest"
restituisce tutti i test in cui è incluso "MyClass" nel nome, ad eccezione di quei test in cui è incluso anche "PerfTest" nel nome.
Contenuto
Creare delle playlist personalizzate
È possibile creare e salvare un elenco di test che si desidera eseguire o visualizzare come gruppo.Quando si seleziona una playlist, i test nell'elenco vengono visualizzati Esplora test.È possibile aggiungere un test a una playlist e tutti i test nel progetto sono disponibili quando si sceglie la playlist predefinita Tutti i test.
Per creare una playlist, selezionare uno o più test in Esplora Risorse.Nel menu di scelta rapida scegliere Aggiungi alla playlist, Nuova playlist.Salvare il file con il nome e il percorso specificati nella finestra di dialogo Crea nuova playlist.
Per aggiungere test a una playlist, selezionare uno o più test in Esplora Risorse.Nel menu di scelta rapida scegliere Aggiungi alla playlist, quindi scegliere la playlist a cui si desidera aggiungere i test.
Per aprire una playlist, selezionare Test, playlist dal menu di Visual Studio e scegliere dall'elenco di playlist utilizzate di recente, oppure scegliere Apri playlist per specificare il nome e il percorso di playlist.
Contenuto
Eseguire il debug e analizzare gli unit test
Eseguire il debug degli unit test**|Diagnosticare i problemi di prestazione del metodo di test|**Analizzare il code coverage di unit test
Eseguire il debug degli unit test
È 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:
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.
In Esplora test, selezionare i metodi di test e quindi scegliere Esegui debug test selezionati dal menu di scelta rapida.
Per ulteriori informazioni sul debugger, vedere Debug in Visual Studio.
Contenuto
Diagnosticare i problemi di prestazione del metodo di test
Per diagnosticare perché un metodo di test sta richiedendo troppo tempo, selezionare il metodo in Esplora test e quindi scegliere il profilo dal menu di scelta rapida.Vedere Analisi delle prestazioni dell'applicazione tramite gli strumenti di profilatura.
Analizzare il 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:
Scegliere Test dal menu di Visual Studio e quindi scegliere Analizza code coverage.
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