Quando in un progetto di grandi dimensioni il numero di test è elevato, il tempo di esecuzione di tutta la suite di test tende a salire. Dato che le buone pratiche di programmazione impongono di eseguire tutti i test dopo ogni modifica, il rischio è quello di spendere sempre più tempo attendendo la conclusione dei test. Naturalmente in una situazione reale si tende ad eseguire un sottoinsieme di test relativo alla parte che si sta modificando, ma individuare questo sottoinsieme non è spesso facile.
In questo scenario la funzionalità di "Test Impact" ci viene in aiuto, perché permette di visualizzare automaticamente quali test possono essere coinvolti dalle modifiche al codice.
Per abilitare il Test Impact si possono utilizzare le impostazioni di test di default chiamate TraceAndTestImpact.testsettings, ed eseguire immediatamente tutti i test della soluzione. Al termine dell'esecuzione, Visual Studio elabora i dati di Test Impact e li memorizza per stabilire, dopo le successive compilazioni, i test coinvolti dalle modifiche al codice.
Ad esempio, una volta eseguiti i test è sufficiente modificare un metodo della classe MyMath, aggiungendo del codice al metodo divide e ricompilando la soluzione. Al termine della compilazione, la finestra di Test Impact mostra la lista dei test che sonio influenzati dalla modifica al metodo divide.
Figura 15. Visualizzazione dei test impattati dopo una modifica
Questo dato viene ottenuto incrociando i dati salvati durante l'ultima esecuzione dei test con il nuovo codice compilato, e permette a Visual Studio di capire che una modifica al metodo Divide ha influenzato il test DivideTest.
Questo esempio è sicuramente banale, ma in progetti di grandi dimensioni e fortemente strutturati spesso non è facile capire quali test sono correlati ad un metodo. Nella finestra in figura 15 vediamo un bottone che permette con un singolo click di eseguire solamente i test coinvolti dalle modifiche.
Tra le altre funzionalità interessanti vi è quella di poter cliccare con il tasto destro su di un metodo e visualizzare tutti i test che lo invocano ed eseguirli con un semplice click.
LINQ e la trappola della 'deferred execution'Una "trappola" in cui si può incappare utilizzando il risultato di... |
C#, le Custom Type ConversionConversioni personalizzate tra classi, creare metodi particolari per... |
Introduzione a Entity FrameworkIl framework ORM messo a disposizione da .NET |
Repeater: visualizzare un feed RSSUtilizzare il controllo XMLDataSource e sfruttare il metodo XPath()... |
Repeater, il server control "semplice"Cos'è e come funziona il controllo Repeater |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Guida Visual Studio 2010L'ambiente di sviluppo di riferimento per sviluppare applicazioni su... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |