Access-App.Config Einstellungen aus der Klassenbibliothek Aufgerufen, durch Unit-Test-Projekt

Habe ich Folgendes setup:

  • ASP.net 3.5 Web-Site-Projekt
  • C# - Klasse Bibliothek mit business-Logik
  • C# - Klasse Bibliothek für unit-Tests

Die business-Logik-Bibliothek hat alle von der db-Zugriff. Es wird Verbindungszeichenfolgen aus dem web.config-Datei von der Website durch den Zugriff auf System.- Konfiguration.ConfigurationManager.ConnectionStrings. Wenn Sie die Bibliothek aufgerufen wird, die Website, dies funktioniert sehr gut, wie die Bibliothek sieht für die config des Anrufers.

Ich möchte in der Lage sein, zu testen, meine business-Logik durch die unit-Test-Klasse Bibliothek. Ich habe eine App.config-Datei in die Wurzel des Test-Klassenbibliothek. Von was ich gelesen habe, wenn die testing-Bibliothek ruft Daten Zugriff Prozeduren sind Teil der business-Logik-Bibliothek, die Verbindungs-Einstellungen von der App.config-Datei der Test-Bibliothek zugegriffen werden soll, und verwendet. Jedoch, wenn ich versuche zu laufen, meine unit-tests, bin ich immer Fehler zurück, die angeben, dass die Bibliothek zum testen der App.config-Datei (und/oder deren Inhalt) nicht zugegriffen wird erfolgreich.

Mein Auslagerung der config-Eigenschaften (aus dem business-logic-library) sieht wie folgt aus:

public SqlConnection MainConnection {
  get {
    string conn = "";
    try {
      conn = System.Configuration.ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
    } catch {
      //might be calling from test project. Need to reference app settings
      conn = System.Configuration.ConfigurationManager.AppSettings["connString"];
    }
    return new SqlConnection(conn);
  }
}

Wenn dies heißt, die aus dem website-Projekt, funktioniert es. Innerhalb der unit-Tests, die conn-variable wird nie etwas (habe ich auch schon versucht System.- Konfiguration.ConfigurationSettings.AppSettings, und mit, statt mit dem gleichen Ergebnis). Was muss ich tun, um die business-Logik-Klassenbibliothek erfolgreich abrufen der unit-test-Klassen-Bibliotheken Einstellungen, wenn aus aufgerufen, in der NUnit-GUI?

NUnit ist ein wichtiges Stück von Informationen, dass Sie sollten auch in Ihrer Frage, weil ich das Szenario, das Sie beschrieben die Arbeit mit Visual Studio-Test-harness. Die test-Umgebung liest die Konfiguration aus der app.conig im test-Projekt.
Gerade die Frage, ich rufe die tests aus dem NUnit-GUI.
Es sollte nur arbeiten, wie Sie beschrieben. Sind Sie sicher, dass Sie alle relevanten Einstellungen in deinem Test-Projekt " app.config? Sind Sie vielleicht verwirrend AppSettings und ApplicationSettings? Könnte Sie buchen den entsprechenden Abschnitten der beiden config-Dateien?

InformationsquelleAutor Yaakov Ellis | 2009-08-23

Schreibe einen Kommentar