NUnit e .config

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


NUnit e .config

«maggio»
domlunmarmergiovensab
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234