Eseguire test nel processo di compilazione
È possibile utilizzare Team Foundation Build per eseguire test automatizzati e analizzare l'impatto delle modifiche al codice nei test come parte del processo di compilazione.Ad esempio, è possibile definire un processo di compilazione da utilizzare come esecuzione del test di verifica della compilazione regolarmente pianificata del team.È inoltre possibile eseguire test automatizzati e attività correlate ai test dai processi di compilazione personalizzati.
[!NOTA]
Se si desidera distribuire l'applicazione come parte del processo di compilazione, è necessario utilizzare un flusso di lavoro compilazione-distribuzione-test e un ambiente lab.È quindi possibile eseguire test automatizzati come parte del flusso di lavoro, o eseguirli separatamente dopo che il flusso di lavoro è stato completato.Per ulteriori informazioni, vedere Impostazione dei flussi di lavoro di compilazione, distribuzione e test automatizzati.
In questo argomento
Prepararsi a eseguire test nel processo di compilazione
Autorizzazioni necessarie
Utilizzare l'esecuzione dei test per eseguire test automatizzati
Scegliere e configurare un Test Runner
Utilizzare il Test Runner di Visual Studio per eseguire i test
Utilizzare MSTest per eseguire i test
Disabilitare temporaneamente i test
Abilitare l'analisi dell'impatto sui test
Configurare un Framework Unit Test di terze parti
Eseguire test da un processo di compilazione personalizzato
Ulteriori informazioni
Prepararsi a eseguire test nel processo di compilazione
Prima di eseguire i test nel processo di compilazione, potrebbe essere necessario innanzitutto preparare i test e il sistema di compilazione.
Preparare i test: Assicurarsi che la soluzione e i file di test siano archiviati nel controllo della versione.Vedere Utilizzo del controllo della versione.
Suddividere in categorie e classificare in ordine di priorità i test (Facoltativo): È possibile assegnare categorie e priorità ai test, e filtrati su questi attributi quando vengono eseguiti nella compilazione.Ad esempio, è possibile creare una categoria di test denominata CI, quindi specificarla nelle compilazioni di integrazione continue.È possibile creare un'altra categoria per i test di verifica della compilazione, detti BVT, quindi specificare tale categoria nelle compilazioni pianificate, ad esempio le compilazioni notturne.Per ulteriori informazioni, vedere Definizione di categorie per raggruppare i test, TestCategoryAttribute e PriorityAttribute.
Preparare il server di compilazione: Alcuni tipi di test possono essere eseguite solo da un agente di compilazione su un server di compilazione configurato in modo specifico.Ad esempio, se si eseguono test codificati dell'interfaccia utente, è necessario configurare l'agente di compilazione eseguiti in modo interattivo.Prima di tentare di utilizzare il processo di compilazione per eseguire i test, assicurarsi che possano essere eseguiti nel server di compilazione che si intende utilizzare.Per ulteriori informazioni, vedere Consentire all'agente di compilazione per eseguire i test.
Microsoft Visual Studio è necessario che sia installato nel server di compilazione per gli scenari seguenti:
Per compilare il progetto di test CPP, è necessario installare Visual Studio Professional o versioni successive.
Per eseguire gli unit test, o ai test codificati dell'interfaccia utente, è necessario installare Visual Studio Professional o versioni successive.
Per utilizzare i dati e gli adattatori dati di diagnostica:
Code coverage: Visual Studio Premium o versioni successive.
Impatto del test: Visual Studio Ultimate.
IntelliTrace: Visual Studio Ultimate.
Per compilare le applicazioni MFC moderne di stile in un computer di compilazione: Visual Studio Ultimate o Visual Studio Express per Windows 8 (sistema operativo del server di compilazione deve essere Windows 8).
Per compilare ed esegui test per un progetto con un assembly simulato: Visual Studio Ultimate.
Autorizzazioni necessarie
Per eseguire queste procedure, è necessario che l'autorizzazione Modifica definizione di compilazione sia impostata su Consenti.Per ulteriori informazioni, vedere la classe Autorizzazioni per Team Foundation Server.
Eseguire test automatizzati
È possibile eseguire una o più esecuzioni di test nel processo di compilazione basato su il modello predefinito.Per ogni esecuzione, è possibile specificare le seguenti impostazioni:
quali test vengono eseguiti;
quali impostazioni vengono utilizzate per eseguire il test;
se la compilazione non deve essere completata se un test non riesce.
Per eseguire test automatizzati in un processo di compilazione basato sul modello predefinito
Nella barra dei menu scegliere Visualizza, Team Explorer.
In Team Explorer, scegliere Home, quindi scegliere Compilazioni.
Nella pagina Compilazioni, scegliere Nuova definizione di compilazione o aprire il menu di scelta rapida per la compilazione o la definizione di compilazione selezionata e scegliere Modifica definizione di compilazione.
Verrà visualizzata la finestra Definizione di compilazione.
Nella scheda Processo della definizione di compilazione espandere il nodo Base.
Selezionare la casella di controllo Test automatizzati e quindi scegliere il pulsante con i puntini di sospensione (...).
Verrà visualizzata la finestra di dialogo Test automatizzati.
Effettuare uno dei passaggi riportati di seguito:
Per aggiungere un set di test, scegliere Aggiungi.
Per modificare un set di test, selezionarlo e quindi scegliere Modifica.
Verrà visualizzata la finestra di dialogo Aggiungi/modifica test.
(Facoltativo) Specificare il Nome dell'esecuzione dei test.Questo nome viene visualizzato nella finestra Risultati compilazione.Se non si specifica un nome, il sistema lo genera automaticamente.
Se si desidera che la compilazione non venga completata qualora un test qualsiasi dovesse fallire, scegliere Errore compilazione se test non superato.Se si lascia deselezionata questa casella di controllo e un test qualsiasi non funziona, la compilazione completata sarà classificata come Eseguita parzialmente.
Scegliere un Test Runner.Specificare come dovrà operare il test runner utilizzando le opzioni visualizzate.Per ulteriori informazioni, vedere Scegliere e configurare un Test Runner.
Scegliere e configurare un Test Runner
Quando si definisce il processo di compilazione, scegliere un test runner che fornisce la funzionalità richiesta.
Funzionalità |
Visual Studio Test Runner |
MSTest |
---|---|---|
Eseguire unit test scritti nel framework Microsoft.VisualStudio.TestTools.UnitTesting. |
Sì |
Sì |
Esecuzione di test codificati dell'interfaccia utente, generici e ordinati |
Sì |
Sì |
Raccolta di dati di code coverage |
Sì |
Sì |
Eseguire unit test scritti con più framework come NUnit, xUnit e altri. |
Sì |
No |
Eseguire unit test in file binari nativi, ad esempio C++. |
Sì |
No |
Eseguire unit test in un'applicazione Windows Store. |
Sì |
No |
Eseguire test a 64 bit
Nota
MSTest è in grado di eseguire test a 64 bit in binari compilati con qualsiasi CPU specificata come Piattaforma.
|
Sì |
No |
Eseguire test che dipendono da oggetti framework falsi. Per ulteriori informazioni sull'utilizzo di test su framework falsi per creare stub e shim dei test basati sui delegati nelle applicazioni .NET Framework, vedere Isolamento del codice sottoposto a test con Microsoft Fakes. |
Sì |
No |
Generare i dati di test del database e eseguire gli unit test del database |
No |
Sì |
Raccogliere i dati di analisi dell'impatto sui test |
No |
Sì |
Eseguire test di carico e test web |
No |
Sì |
[!NOTA]
Alcune di queste funzionalità sono disponibili solo su un agente di compilazione su un server di compilazione configurato in modo specifico.Per ulteriori informazioni, vedere Consentire all'agente di compilazione per eseguire i test.
Una volta apprese le funzionalità richieste dall'esecuzione dei test, scegliere un Test Runner:
Visual Studio Test Runner
MSTest con il file di impostazioni test
MSTest con il file di metadati
Utilizzare il Test Runner di Visual Studio per eseguire i test
Per utilizzare il test runner di Visual Studio per eseguire i test da un processo di compilazione basato sul modello predefinito
In Team Explorer, aprire Compilazioni, e aggiungere o modificare una definizione di compilazione.
Nella pagina Processo, espandere Basee selezionare Test Automatizzati.Scegliere il pulsante con i puntini di sospensione (...) alla fine della riga e quindi a Aggiungi o a Modifica un'origine di test.
Nella finestra di dialogo Aggiungi/Modifica esecuzione dei test, in Test Runner selezionare Visual Studio Test Runner.
Eseguire il test della specifica del file di assembly
Specificare i file binari che contengono i test da eseguire.Lasciare invariato il valore predefinito (**\*test*.dll) se si desidera che l'agente di compilazione cerchi in modo ricorsivo tutti i file dll che corrispondono a *test*.dll nella sottodirectory binaries della directory di lavoro dell'agente di compilazione.In alternativa, modificare la specifica del file in base alle esigenze.
Se si desidera che l'esecuzione dei test raccolga e pubblichi dati di code coverage, andare su Opzioni e impostare Abilita code coverage.
In alternativa, è possibile utilizzare l'opzione Personalizzata per specificare un file di .runsettings.Per ulteriori informazioni, vedere Personalizzazione dell'analisi code coverage.
Dal menu Selezionare piattaforma di destinazione per l'esecuzione dei test, scegliere x86 per testare i file binari a 32 bit, o x64 per testare i file binari a 64 bit.
È possibile specificare dei criteri per i test eseguiti.
Specificare dei criteri per l'esecuzione dei test tramite Visual Studio Test Runner
È possibile specificare le coppie nome/valore per filtrare i test eseguiti.Se si fa uso della categoria e di attributi di priorità per organizzare e classificare in ordine di priorità i test, è possibile filtrare i test in esecuzione utilizzando i nomi di Priorità e il TestCategory.
È possibile specificare categorie di test in uno dei formati seguenti:
Specificare una singola coppia nome/valore da includere. Si dispone, ad esempio, di una categoria di test denominata BVT.Impostare Filtro test case a TestCategory=bvt per eseguire solo i test appartenenti a questa categoria.
Specificare più categorie di test tramite || (operatore "or"). Ad esempio, è possibile specificare TestCategory=quick||TestCategory=gui per l'esecuzione di test appartenenti alla categoria quick e alla categoria gui.
Utilizzare MSTest per eseguire test
Per eseguire i test utilizzando MSTest in un processo di compilazione basato sul modello predefinito
Utilizzare l'esecuzione dei test per eseguire test automatizzati ed altre attività, quindi nella finestra di dialogo Aggiungi/Modifica esecuzione dei test, in Test Runner scegliere:
Runner MSTest.exe
Specificare i file binari che contengono i test da eseguire.Lasciare invariato il valore predefinito (**\*test*.dll) se si desidera che l'agente di compilazione cerchi in modo ricorsivo tutti i file dll che corrispondono a *test*.dll nella sottodirectory binaries della directory di lavoro dell'agente di compilazione.In alternativa, modificare la specifica del file in base alle esigenze.
(Facoltativo) Specificare un'opzione in File di impostazioni test per configurare la modalità di esecuzione dei test.Per ulteriori informazioni, vedere Specifica delle impostazioni test di Visual Studio.
File di metadati di test MsTest (deprecato)
Se si sceglie questa opzione, fare click su Sfoglia per individuare e specificare il file di metadati di test che si desidera utilizzare.È quindi possibile lasciare selezionata la casella di controllo Esegui tutti i test in questo file VSMDI oppure deselezionarla, quindi selezionare uno o più test nell'elenco Elenchi test da eseguire.
[!NOTA]
Gli elenchi di test sono deprecati.Per ulteriori informazioni, vedere Definizione di categorie per raggruppare i test.
Scegliere la scheda Criteri/Argomenti.
È possibile filtrare i test da eseguire in base alla categoria.
È possibile specificare categorie di test in uno dei formati seguenti:
Specificare un'unica categoria di test da includere o escludere. Si dispone, ad esempio, di una categoria di test denominata BVT.Impostare questo parametro su BVT per eseguire solo i test appartenenti a questa categoria oppure su !BVT per eseguire tutti i test eccetto quelli appartenenti a questa categoria.
Specificare più categorie di test tramite & (operatore "and") e ! (operatore "not"). Ad esempio, è possibile specificare QUICK&GUI&!DEEP per eseguire solo i test appartenenti alle categorie QUICK e GUI ma che non alla categoria DEEP.
Specificare più categorie di test tramite | (operatore "or") e ! (operatore "not"). Ad esempio, è possibile specificare QUICK|GUI|!DEEP per eseguire i test appartenenti alle categorie QUICK e GUI e qualsiasi test non incluso nella categoria DEEP.
(Facoltativo) Filtrare i test da eseguire in base alla priorità.
Suggerimento Se si assegnano priorità ai test, è possibile utilizzare questo parametro per bilanciare meglio i test con le compilazioni più veloci.
Impostare Priorità di test minima su un valore intero positivo uguale a o minore di Priorità di test massima oppure su -1 per non indicare un valore minimo.
Impostare Priorità di test massima su un valore Integer positivo uguale a o maggiore di Priorità di test minima oppure su -1 per non indicare un valore massimo.
Scegliere OK.
Disabilitare temporaneamente i test
Se è necessario disabilitare temporaneamente dei test senza eliminare il set di test che li contiene, espandere il nodo Avanzate e impostare il parametro Disabilita test a True.Quando si desidera abilitare nuovamente i test, reimpostare il valore su Falso.
Abilitare l'analisi dell'impatto sui test
I tester e gli sviluppatori potrebbero avere l'esigenza di sapere in che modo le modifiche al codice incluse in una compilazione completata hanno influito sui test.Quando si abilita l'analisi dell'impatto sui test in una compilazione, il sistema analizza e quindi segnala in che modo le modifiche al codice hanno influito sui test nel rapporto di compilazione della compilazione completata.
Per abilitare l'analisi di impatto del test in un processo di compilazione basato sul modello predefinito
Configurare l'analisi dell'impatto sui test in un file di impostazioni test.
Per ulteriori informazioni, vedere Procedura: raccogliere dati per verificare i test da eseguire dopo che sono state apportate modifiche al codice.
Creare un set di test configurato per l'utilizzo del file di impostazioni test.
Per ulteriori informazioni, vedere la precedente sezione Eseguire test automatizzati in questo argomento.
Espandere il nodo Avanzate e verificare che Analizza impatto test sia impostata su Vero e che Disabilita test sia impostata su Falso.
Definire esecuzioni di test multiple
È possibile definire quante più esecuzioni dei test sono necessarie per soddisfare i requisiti del processo di compilazione e di test del team.Ad esempio, potrebbe essere necessario definire più esecuzioni dei test in un'unica compilazione negli scenari seguenti:
Si desidera utilizzare il Test Runner di Visual Studio per testare una soluzione che produce i binari a 32 e a 64 bit.
Si posseggono alcuni test che possono essere eseguiti da Visual Studio Test Runner, e altri test che possono essere eseguiti solo da MSTest.
Si dispone di due set di test:
Un set di test di base ad alta priorità che deve essere superato.Si definisce un set di test che include Priorità di test minima e Priorità di test massima di 1.Si seleziona la casella di controllo Errore compilazione se test non superato.
Un set di test meno importanti che si desidera eseguire, ma il cui superamento non è obbligatorio perché la compilazione sia utilizzabile.Si definisce un set di test che include Priorità di test minima di 2 e Priorità di test massima di 3.Si lascia deselezionata la casella di controllo Errore compilazione se test non superato.
Si desidera eseguire lo stesso set di test con impostazioni test diverse.
Si desidera che il set di assembly principale da compilare sia soggetto a code coverage.Si dispone tuttavia di un altro set di assembly da un'origine esterna che non richiede code coverage.Per abilitare questo tipo di processo, è possibile utilizzare due set di test configurati per l'utilizzo di due gruppi di file di impostazioni test.
Attivare uno unit test di terze parti Framework in un controller di compilazione
Il processo di compilazione può eseguire unit test basati sui framework di terze parti di unit test solo se è stato fornito al controller di compilazione accesso agli assembly di terze parti del framework.
Ottenere un plug-in di terze parti dello unit test.È possibile trovare i collegamenti ad alcune di esse di seguito: Elenco di unit test del plug-in.
Rinominare il file di plug-in vsix a un file .zip.Ad esempio, utilizzare il prompt dei comandi nel modo seguente:
C:\Downloads>ren NUnitTestAdapter.vsix NUnitTestAdapter.zip
Decomprimere i contenuti del file .zip nella cartella locale dell'area di lavoro mappati al passaggio 2.
-
Suggerimento Per le strategie funzionino con i file binari di terze parti nel controllo della versione, vedere Utilizzare i binari di terze parti che il codice non viene compilato.
[Visual Studio 2012,1] include un miglioramento per i framework di terze parti di unit test automatizzino la loro inclusione nelle definizioni di compilazione Team.
Attenzione |
---|
Potrebbe essere necessario installare la versione più recente dei pacchetti di NuGet per il framework di unit test 3rd-party proteggere il framework include il miglioramento della definizione di compilazione. |
Attivare uno unit test di terze parti Framework in un controller di compilazione ([Visual Studio 2012,1]
In Esplora Risorse, aprire il menu di scelta rapida del progetto di test e selezionare Gestisci pacchetti NuGet.
Nella finestra di dialogo dei pacchetti di NuGet di gestire, nella colonna sinistra, scegliere Online.
Selezionare il pacchetto di NuGet per il framework di terze parti di unit test e scegliere Installa.
Dopo che il pacchetto di NuGet è installato termine, scegliere Chiudi.
In Esplora Risorse, aprire il menu di scelta rapida sulla soluzione e scegliere Aggiungi soluzione al controllo del codice sorgente.
È ora possibile accodare la compilazione e test con il framework di terze parti di unit test eseguite automaticamente.
Utilizzare i test in un processo di compilazione personalizzato
Se il team richiede un processo di compilazione con funzionalità maggiormente personalizzate, è possibile eseguire test ed altre attività correlate ai test all'interno del processo di compilazione personalizzato.Per ulteriori informazioni, vedere:
Per ulteriori informazioni
Definire un processo di compilazione basato sul modello predefinito sono disponibili ulteriori informazioni su come creare una definizione di compilazione basata sul modello predefinito.In questa sezione sono incluse informazioni sulle impostazioni del numero di bit della Piattaforma che possono essere utilizzate quando si compila il codice.
Linee guida per i flussi di lavoro di compilazione, distribuzione e test vengono fornite informazioni sulla distribuzione di un'applicazione e sull'esecuzione di test in un ambiente lab utilizzando il processo di compilazione.
Esecuzione di test in Microsoft Test Manager fornisce ulteriori informazioni sulle modalità di esecuzione dei test.