172 Stimmen

Kann ein Unit-Test-Projekt die app.config-Datei der Zielanwendung laden?

Ich teste eine .NET-Anwendung (.exe), die eine app.config-Datei zum Laden von Konfigurationseigenschaften verwendet. Die Unit-Test-Anwendung selbst verfügt nicht über eine app.config-Datei.

Wenn ich versuche, eine Methode zu testen, die eine der Konfigurationseigenschaften verwendet, geben sie null . Ich nehme an, dass dies daran liegt, dass die Unit-Test-Anwendung nicht in die app.config der Zielanwendung geladen wird.

Gibt es eine Möglichkeit, dies zu überschreiben oder muss ich ein Skript schreiben, um den Inhalt der Ziel app.config in eine lokale app.config zu kopieren?

Diese Beitrag stellt diese Frage, aber der Autor betrachtet sie aus einem anderen Blickwinkel als ich.

EDIT: Ich sollte erwähnen, dass ich VS08 Team System für meine Unit-Tests verwende.

5voto

Hari Das Punkte 8998

Das ist sehr einfach.

  • Klicken Sie mit der rechten Maustaste auf Ihr Testprojekt
  • Hinzufügen-->Bestehender Artikel
  • Sie sehen einen kleinen Pfeil direkt neben der Schaltfläche Hinzufügen
  • Wählen Sie die Konfigurationsdatei aus und klicken Sie auf "Als Link hinzufügen".

4voto

Cory Foy Punkte 7112

Wenn Sie NUnit verwenden, werfen Sie einen Blick auf diese Stelle . Grundsätzlich müssen Sie Ihre app.config in demselben Verzeichnis wie Ihre .nunit-Datei haben.

0 Stimmen

Ich verwende VS08 Team System für meine Unit-Tests, aber danke für den NUnit-Tipp!

2voto

Zyo Punkte 1766

Wenn Sie Anwendung Einstellung wie Asp.net ConnectionString verwenden, müssen Sie das Attribut HostType zu Ihrer Methode hinzufügen, sonst werden sie nicht geladen, auch wenn Sie eine App.Config-Datei haben.

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

}

0voto

Patrick Desjardins Punkte 130529

Ich benutze NUnit und in meinem Projektverzeichnis habe ich eine Kopie meiner App.Config, in der ich einige Konfigurationen ändere (z.B. leite ich auf eine Testdatenbank um...). Sie müssen es in der gleiches Verzeichnis des getesteten Projekts und es wird alles gut.

0voto

Jane Punkte 1843

Ich konnte nicht bekommen, einer dieser Vorschläge mit nUnit 2.5.10 zu arbeiten, so dass ich am Ende mit nUnit's Project -> Edit-Funktionalität, um die Konfigurationsdatei zu Ziel (wie andere gesagt haben, es muss im gleichen Ordner wie die .nunit-Datei selbst sein). Die positive Seite davon ist, dass ich die Konfigurationsdatei einen Test.config Namen geben kann, die es viel klarer macht, was es ist und warum es ist)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X