Whidbey Watcher #8: Burt... Team System vs. unit testing

La release beta1 di Visual Studio 2005, per quanto nominata "Enterprise Architect" di... "Enterprise" aveva ben poco, visto che l'unica feature interessante da questo punto di vista era il class designer. Niente male, ma.. dei Team Systems (a.k.a. Burton a.k.a Enterprise Tools) non v'era traccia. Peccato, perchè ero molto curioso di poter toccare con mano il toolkit di unit testing che mi era stato mostrato ad Aprile nel corso dello MVP Summit a Redmond. In realtà, per impossessarmi di una build sufficientemente aggiornata ho dovuto attendere fino a Luglio, ma il "solito" NDA mi impediva di pubblicare qualche "primizia". Ebbene, ormai da una decina di giorni "quella" build è stata rilasciata, e possiamo quindi chiacchierare a piacere.

Una doverosa premessa: chi ha utilizzato NUnit troverà delle evidenti similitudini architetturali con il toolkit offero da VS2005. Da questo punto di vista, l'ingresso in Microsoft di James Newkirk (leader del suddetto progetto) non poteva probabilmente portare ad un risultato differente. Oltre a straordinare similitudini, abbiamo anche qualche significativa differenza:

  • NUnit è un toolkit indipendente, mentre il toolkit MS è proprio di Visual Studio e non del framework .NET in quanto tale (il root namespace è infatti Microsoft.VisualStudio.QualityTools.UnitTesting.Framework). Questo conferma (come precedentemente affermato) che vi potranno essere pacchettizzazioni di VS2005 sprovviste di questa funzionalità (speriamo si riveli un timore infondato).
  • Il toolkit MS integra funzionalità di reporting della code coverage effettiva prodotta dai test. Questa feature, assente in NUnit, è importante perchè permette di capire (ad esempio) in che percentuale il nostro codice sia stato "sondato" dai test

Tutto ciò premesso, chi ha utilizzato NUnit non faticherà ad adottare il toolkit di VS2005, visto che siste un mapping diretto tra le classi attributo offerte dalle due implementazioni:

NUnit VS2005
TestFixtureAttribute TestClassAttribute
SetupAttribute TestInitializeAttribute
TearDownAttribute TestCleanUpAttribute
TestAttribute TestMethodAttribute

L'attributo ExpectedExceptionAttribute e la classe Assert non sono invece stati vittime della "sindrome da renaming". Ciò che più si apprezza del toolkit MS è l'ottima integrazione (e vorrei ben vedere!) con l'IDE: nulla a che vedere con gli "Attach Process" dai tempi chilometrici di NUnit. Con VS2005 il menu di popup disponibile nell'editor di codice presenta una voce "Create Tests" la quale avvia un wizard che permette di selezionare per quali porzioni di solution (es: classi, metodi) creare uno scheletro di test, nonchè di specificare se le classi di test debbano essere implementate all'interno del progetto (bleah!) o mediante un assembly separato (come è giusto). Se vi interessa l'argomento, vi consiglio di sottoscrivere il blog di James: io intanto vado a dormire, visto che si è fatto tardi...

posted @ martedì 21 settembre 2004 04:33

Print

Comments on this entry:

# re: New Team System Stuff - 2004-09-20

Left by Rob Caron's Blog at 21/09/2004 12:41
Gravatar

# Il post di Andrea citato nientemeno che su

Left by Lorenzo Barbieri @ UGIblogs! at 21/09/2004 12:44
Gravatar

# New Team System Stuff - 2004-09-20

Left by Rob Caron's Blog at 21/09/2004 12:48
Gravatar

# re: L'open source che non finisce mai...

Left by UGbLog di Pierre Greborio at 10/10/2004 00:33
Gravatar

# Testing con Visual Studio .NET 2005

Left by UGbLog di Pierre Greborio at 18/10/2004 13:40
Gravatar

Your comment:



 (will not be displayed)


 
 
 
Please add 6 and 2 and type the answer here:
 

Live Comment Preview:

 
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011