164 votes

Un projet de test unitaire peut-il charger le fichier app.config de l'application cible ?

Je procède à des tests unitaires d'une application .NET (.exe) qui utilise un fichier app.config pour charger les propriétés de configuration. L'application de test unitaire elle-même n'a pas de fichier app.config.

Lorsque j'essaie de tester une méthode qui utilise l'une des propriétés de la configuration, elle renvoie la réponse suivante null . Je suppose que c'est parce que l'application de test unitaire ne va pas se charger dans l'app.config de l'application cible.

Existe-t-il un moyen de passer outre ou dois-je écrire un script pour copier le contenu de l'app.config cible vers un app.config local ?

Ce site Ce post pose en quelque sorte cette question, mais l'auteur l'aborde sous un angle différent du mien.

EDIT : Je dois mentionner que j'utilise VS08 Team System pour mes tests unitaires.

5voto

Hari Das Points 326

C'est très facile.

  • Cliquez à droite sur votre projet de test
  • Ajouter-->Elément existant
  • Vous pouvez voir une petite flèche juste à côté du bouton "Ajouter".
  • Sélectionnez le fichier de configuration et cliquez sur "Ajouter comme lien".

5voto

Nilesh Gule Points 1027

J'ai récemment écrit un billet de blog sur la façon de tester les paramètres AppConfig. J'espère que cela vous aidera http://nileshgule.blogspot.com/2010/09/unit-test-application-configuration.html

4voto

Cory Foy Points 5181

Si vous utilisez NUnit, jetez un coup d'oeil à ce poste . En gros, vous devez avoir votre app.config dans le même répertoire que votre fichier .nunit.

2voto

Zyo Points 706

Si votre application utilise des paramètres tels que Asp.net ConnectionString, vous devez ajouter l'attribut HostType à vos méthodes, sinon elles ne se chargeront pas même si vous avez un fichier App.Config.

[TestMethod]
[HostType("ASP.NET")] // will load the ConnectionString from the App.Config file
public void Test() {

}

0voto

Patrick Desjardins Points 51478

J'utilise NUnit et dans le répertoire de mon projet j'ai une copie de mon App.Config que je modifie certaines configurations (exemple je redirige vers une base de données de test...). Vous devez l'avoir dans le répertoire même répertoire du projet testé et tout ira bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X