Quando uscirà VS2005 forse NUnit verrà sostituito da quello integrato nel tool di sviluppo. In questi giorni mi sono trovato a mettere in piedi lo unit test di un progetto su Framework 1.1, VS2003. Il solo problema che avevo con NUnit era come e dove impostare un eventuale .config. Tra i blog di UGI c'è un po letteratura in merito.
"App.config e NUnit"
http://blogs.ugidotnet.org/adrian/archive/2004/09/17/2851.aspx
"NUnit e file di configurazione"
http://blogs.ugidotnet.org/penpal/archive/2004/06/15/1125.aspx
Ho visto che in giro se ne parla comunque poco... i casi sono che o tutti hanno trovato la soluzione oppure nessuno o pochi usano NUnit (e/o in generale praticano lo Unit Testing).
Posto qui la soluzione che ho trovato - se è già nota ai più mi rimarrà come memo. NUnit crea un AppDomain per l'assembly che deve testare, "NUnit and IThreadLogicalAffinative - AppDomains, CallContexts and weird, weird problems" (http://weblogs.asp.net/mreynolds/archive/2003/07/17/10192.aspx). Se proviamo a farci dare le informazioni di tale AppDomain avremo la soluzione al problema:
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
Come si potrà constatare l'AppDomain ha il nome del file di progetto (.nunit) e il file di configurazione ha il nome del file di progetto con estenzione .config (.nunit è associato a .config). Quello che mi verrà comodo fare sarà quindi inlcudere nel mio progetto di test il file ".nunit" e includere sempre nello stesso progetto il ".config" che non chiamerò "app.config" - come si usa fare - ma nominerò come il nome del file di configurazione di nunit.
Ecco qui un immagine che spiega meglio quanto detto a parole :-p
posted @ lunedì 23 maggio 2005 18:22