En exécutant mon VS2008
unité
tests d'intégration contre mon DAL, j'ai constaté que l'assemblée lit machine.config
au lieu de app.config
de l'assemblée.App.Config de l'assembly est ignoré; Machine.config étant lu à la place
Voici la diminution des effectifs sur la pile d'appel: méthode
- projet de test Unité a l'appel dans une classe projet dataLayer
MyDataLayer
hérite d'une classe de base. La méthode est appeléeGetStuff()
- La classe de base utilise
System.Configuration
. Tout bon. - l'appel de cette propriété dans le code:
ConfigurationManager.ConnectionStrings["MyConnStr"]
renvoie effectivement null car il n'est pas trouvé en apparence. - en vérifiant la classe
MyDataLayer
, oui, MyConnStr est là. - en vérifiant la collection
ConnectionStrings
, oui, il a une chaîne de connexion. Il est celui machine.config qui est plus dansC:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config
- Je ne sais pas pourquoi mon DAL de
app.config
est remplacé par lemachine.config
Toute aide est appréciée!
Ray, vous êtes un monstre! Tout ce que j'avais à faire était de faire référence à System.Configuration et de copier/partager le App.Config du projet DataLayer à mon projet UnitTest, et cela a fonctionné. Bravo! –