Naturalmente in un progetto reale i test non vengono eseguiti singolarmente, infatti Visual Studio garantisce una grande flessibilità per selezionare gruppi di test da eseguire simultaneamente. Il primo passo è prendere familiarità con la toolbar dei test.
Il primo bottone serve a creare un nuovo test, di seguito troviamo un gruppo di tre bottoni il cui scopo è eseguire:
- Il test nel contesto del cursore
- Tutti i test della solution
- Tutti gli impacted test (verranno spiegati successivamente)
Il primo bottone non esegue sempre lo stesso numero di test, ma i test eseguiti dipendono dalla posizione del cursore: se si trova all'interno di un test viene eseguito il singolo test, se si trova in un punto vuoto di una classe, vengono eseguiti tutti i test di quella classe, infine se si preme quando il cursore si trova su di un namespace, vengono eseguiti tutti i test contenuti nel namespace.
I successivi tre bottoni hanno la stessa funzione, ma in questo caso i test vengono eseguiti all'interno del debugger ed è quindi possibile impostare breakpoint, visualizzare il valore delle variabili etc, etc.
Scorrendo la toolbar si trova poi un bottone che apre la finestra "Test View" nella quale è possibile visualizzare una lista di tutti i test presenti nella solution; naturalmente al suo interno è possibile selezionare uno o più test ed eseguirli contemporaneamente, come mostrato in figura:
In progetti con molti test, per garantire una più facile consultazione, è possibile raggruppare i test per varie caratteristiche, come si vede nella prossima immagine, dove sono rappresentate tutte le proprietà dei test per cui è possibile effettuare un raggruppamento:
Una volta impostata la visualizzazione per gruppi, possiamo selezionare sia un intero gruppo, sia i singoli test, raggruppandoli ad esempio per "nome classe". Così possiamo scegliere tutti i test appartenenti alla classe OtherTests
e i singoli test AddTest
e MultiplyTest
dal gruppo MyMathTest
.
Infine, sempre dalla finestra "Test View", è possibile impostare un filtro su una tra molte proprietà del test, in modo da ridurre il numero di test visualizzati:
Spesso però occorre eseguire insiemi di test non semplici da individuare nella finestra di "Test View", neppure utilizzando le funzionalità di filtro e raggruppamento, in questi casi possiamo creare delle liste di test personalizzate.
Se osserviamo i file che compongono la soluzione, troviamo, nella cartella Solution Items
, alcuni file relativi al testing. Tra di essi ve ne è uno che ha estensione vsmdi
e permette appunto di specificare liste di test. Aprendo il file notiamo immediatamente la presenza di tre categorie: la prima mostra tutte le liste di test definite, la seconda serve per visualizazre tutti i test che non sono compresi in nessuna lista e la terza mostra tutti i test attualmente caricati in memoria.
Selezionando la visualizzazione delle liste di test appare l'opzione per creare le nuove liste, nel nostro esempio abbiamo creato una lista chiamata My First List
alla quale aggiungere i nostri test grazie a semplici drag and drop dalle visualizzazioni Test Not In A List
e All Loaded Test
.
Un test può essere contenuto in una sola lista e, per avere una chiara visualizzazione della lista di appartenenza di ogni test, è consigliabile selezionare All Loaded Tests
che mostra questa proprietà in una colonna apposita. Selezionando i singoli test o liste multiple, il bottone di esecuzione si attiva, permettendo l'esecuzione del gruppo di liste selezionate. Anche in questo caso è comunque possibile mixare liste e test singoli per l'esecuzione.
Infine possiamo creare liste di test figlie di altre liste per ottenere una categorizzazione gerarchica dei test da eseguire. Tutte queste funzionalità sono necessarie per progetti complessi in cui il numero di test è elevato ed è necessario impostare una corretta categorizzazione dei test da eseguire.