2009-10-20 8 views
1

Je viens de commencer à utiliser NUnit pour écrire des cas de test pour mon projet d'application web asp.net.WAP + NUnit + WebConfigurationManager Broche

Une partie du code écrit pour accéder aux valeurs de la base de données récupère ConnectionString à partir d'une "section" définie sous "configSections" du fichier web.config.

Cela fonctionne correctement lors de l'exécution normale du projet sur un navigateur Web. Mais lorsque j'accède à la même méthode via le scénario de test, WebConfigurationManager.GetSection() renvoie toujours null.

Initialement, je ne pouvais pas non plus accéder à la section AppSettings de web.config mais cela a été résolu lorsque j'ai copié le fichier web.config dans le dossier BIN. Mais toujours pas en mesure d'aller chercher la "section" dans "ConfigSection".

Veuillez suggérer.

Répondre

1

Par défaut, NUnit recherchera un fichier de configuration portant le même nom que la DLL contenant les tests. Donc, si vous avez someTests.dll NUnit voudra ramasser someTests.dll.config. Donc, pour les exe standard, l'astuce consiste à copier votre app.config pour qu'il corresponde au modèle de nom dll. Je pense que cela fonctionne aussi pour les applications web. Vous copieriez web.config à someTests.dll.config. Mais pour être honnête, je n'écris généralement pas de tests qui doivent être configs, donc je ne sais pas avec certitude.

+0

Merci pour l'aide mais j'ai également copié et renommé le fichier web.config en répertoire bin et c'est ainsi que la section appsettings a commencé à fonctionner pour moi. Mais je ne suis pas en mesure d'accéder aux configSections. – araaku

+0

Avez-vous essayé d'utiliser 'ConfigurationManager' au lieu de' WebConfigurationManager'? Je ne sais pas pourquoi cela aiderait mais ça vaut le coup d'essayer. –

+0

ConfigurationManager ne fonctionnait pas non plus. – araaku