Andrea ne ha parlato in passato, in Visual Studio .NET 2005 è possibile fare unit testing. Da una recente discussione via messenger con Corrado è sorta la domanda: ma le classi di test debbono stare dentro l'assembly da testare o in un assembly a parte ?
La mia risposta (del tutto personale) è dipende. In linea generale è molto meglio avere un progetto esterno (come suggerisce Andrea), ma se la classe da testare non esce dallo scope dell'assembly allora è necessario creare la classe di test internamente. Per evitare di esporre anche quella dalla libreria (effetto decisamente indesiderato) è possibile introdurre una condizione di compilazione (es, TEST) e definire l'intero corpo della classe (namespace compreso) all'interno di questa definizione.
Non è l'ideale, ma è abbastanza pragmatica ;-)