Quante volte è capitato di dover testare un pagina ASP.NET? A me centinaia di volte al giorno. Spesso ci troviamo però di fronte alla noiosa ipotesi di testare ad esempio una form di inserimento dati, dovendo così ogni volta compilare tutti i campi per controllare che funzionino correttamente i nostri controlli o l’inserimento a database. Tanto, troppo tempo perso.

Può però venirci in aiuto NUnitASP (http://nunitasp.sourceforge.net). Questa libreria permette di creare dei veri e propri test come ad esempio questo (codice preso dal sito web ufficiale):

[Test] 
public void TestExample() 
{ 
   // First, instantiate "Tester" objects: 
   LabelTester label = new LabelTester("textLabel", CurrentWebForm); 
   LinkButtonTester link = new LinkButtonTester("linkButton", CurrentWebForm); 
   // Second, visit the page being tested: 
   Browser.GetPage("http://localhost/example/example.aspx"); 
   // Third, use tester objects to test the page: 
   AssertEquals("Not clicked.", label.Text); 
   link.Click(); 
   AssertEquals("Clicked once.", label.Text); 
   link.Click(); 
   AssertEquals("Clicked twice.", label.Text); 
} 

In poche parole questo test apre la pagina di esempio, modifica il valore di una label (3 volte), ed infine preme un pulsante (2 volte). Immaginate questo test eseguito con dati random (o quasi) su una form di iscrizione migliaia di volte. Potrebbe farci capire in pochi minuti quali sono i limiti, dove i nostri controlli sono sbagliati e che carico di lavoro è in grado di sopportare il nostro server. A dir poco utilissimo. Ovviamente NUnitASP che deriva dal fratello maggiore NUnit (http://www.nunit.org/) può fare molte più cose, ma per questo vi lascio al sito ufficiale.