nicht Lesen appsettings wenn unit-Tests
Ich habe C# - Konsolenanwendung. Eine Ihrer Funktion Lesen appconfig
Wert und einige Arbeit.
string host = ConfigurationManager.AppSettings["Host"]
Also schrieb ich NUNIT
test für meine Konsolenanwendung. Unit-Test-Projekt erstellt wurde, mit Klassen-Bibliothek.
Aber mein unit-test ist fehl nun . Denn es ist nicht das Lesen meiner app-Einstellungen (zeigt an, dass keine app-Einstellungen). Was ist der Grund für diese.
Wenn ich meine Konsole app, es ist das Lesen der app-Einstellungen korrekt.
InformationsquelleAutor der Frage New Developer | 2013-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie eine app haben.config erstellt für Ihre unit-test-Projekt. Die app.in der config von Ihrer Konsole-Anwendung wird nicht konsultiert werden, wenn Sie die unit-tests.
InformationsquelleAutor der Antwort aquaraga
Während Sie können definieren, wie die app-Einstellungen in einer anderen Konfigurationsdatei für den unit-test-Projekt, unit-Tests, Schnittstellen mithilfe von dependency injection kann helfen, brechen die Bereiche, die Ihre unit-tests eingehen werden in überschaubare Portionen.
So könnten Sie die Konfiguration der Schnittstelle wie:
Ihre Klasse zu testen, würde annehmen, die IConfiguration-Klasse als parameter (in der Regel zu Ihrem Konstruktor) wie folgt:
Dann ist dein test können die Schnittstelle zu übergeben, in der Konfiguration nicht als abhängig von einer externen Konfigurationsdatei, die potenziell verändern und beeinflussen Ihre unit-test:
Und Ihre tatsächliche Umsetzung würde die Konfiguration erstellen Klasse, laden Sie es mit dem Wert(s) aus dem appsettings-und übergeben, die in Ihrer Umsetzung
InformationsquelleAutor der Antwort boniestlawyer