Unit testing e coverage con Visual Studio 2012

Dopo aver provato i principali framework di unit testing su .Net (MSTest, MbUnit, NUnit e xUnit) ho scelto NUnit come framework di riferimento.

Il problema degli ambienti di terze parti è che fino a Visual Studio 2010 non era possibile eseguire i test direttamente dall’IDE e la soluzione era quella di utilizzare plugin quali Resharper o TestDriven.Net

Finalmente in Visual Studio 2012 è stato aggiunto il supporto per i framework di test di terze parti!

L’utilizzo è reso semplicissimo in quanto è sufficiente installare l’adapter tramite l’Extension Manager.

Ad esempio per NUnit è disponibile ”Unit Test Adapter“:nunit-test-adapter-vs2012

Gli adapter disponibili attualmente sono:

  • NUnit
  • xUnit.net
  • MbUnit
  • QUnit
  • Jasmine

A questo punto è possibile utilizzare il test runner integrato in Visual Studio:

vs2012-test-explorer-with-nunit

L’integrazione tra Visual Studio 2012 e i framework di test di terze parti ha anche il vantaggio collaterale che diventa disponibile il code coverage!

Basta selezionare “Analyze Code Coverage” per il test selezionato o per tutti i test per avere le statistiche di coverage e per avere un riscontro visivo del coverage direttamente sul codice sorgente.

code-coverage-vs2012-nunit

Share

Nuove “piccole” feature di Visual Studio 2012

Tra le tante novità che sono state introdotte in Visual Studio 2012 ce ne sono alcune molto comode legate allo sviluppo di Web Application.

Quelle che ho apprezzato di più nell’uso quotidiano sono:

  • la visualizzazione Page Inspector
  • il supporto multi browser
  • l’estrazione di User Control
  • retrocompatibilità con Visual Studio 2010
  • anteprima delle immagini

Page inspector

Attivando il page inspector su una pagina aspx è possibile visualizzare all’interno di Visual Studio 2012 un’anteprima della pagina con l’inspector HTML simile a quello di Firebug.

view-in-page-inspector-VS-2012

page-inspector-VS-2012

Lo strumento è comodo perchè non è necessario passare al browser ma soprattutto si rivela molto efficace nel caso delle View in un progetto Asp.Net MVC.

Supporto multi browser

Gli shortcut F5 e CTRL-F5 sono da sempre serviti per avviare la web application in locale sul browser predefinito, rispettivamente con e senza debugger.

Un comodo menù visualizza adesso tutti i browser disponibili sulla macchina locale e consente di passare rapidamente da uno all’altro.

Multiple-browser

Estrazione di uno user control

Per creare uno user control partendo da una web form era necessario creare prima un nuovo user control, fare copia incolla dalla web form e inserire i tag register e uc nella web form.

Con Visual Studio 2012 tutte queste attività sono automatizzate tramite un singolo click:

estrazione user control in Visual Studio 2012

La funzione “Extract to User Control”:

  • richiede il nome e la posizione del nuovo user control
  • crea il nuovo oggetto con l’Html selezionato
  • inserisce nella web form i tag Register e uc

Extract-to-user-control-VS-2012-web-form

Anteprima delle immagini

Passando col mouse su un’immagine nella solution ne viene visualizzata un’anteprima:

anteprima immagini in Visual Studio 2012

Compatibilità della solution con Visual Studio 2010

Questo comportamento non riguarda solamente le Web Application ma la migrazione di una qualsiasi soluzione da Visual Studio 2010 a Visual Studio 2012.

Per la prima volta è possibile convertire la solution alla nuova release di Visual Studio mantenendo la compatibilità con la vecchia versione.

Importante: la compatibilità è garantita solo con Visual Studio 2010 con il Service Pack 1

Share