ich eine Klassenbibliothek habe ich zu Unit-Test-Framework Microsofts Gerät zu testen will. Einige der Klassen, die ich testen möchte, werden mithilfe von Anwendungseinstellungen konfiguriert. Diese Einstellungen sind in der Datei Settings.settings
definiert, die einen Anwendungsumfang und geeignete Standardwerte hat. Wenn die Bibliothek von der Anwendung verwendet wird, können diese Einstellungen in der Datei App.Config
überschrieben werden. Wenn nicht, werden die Standardwerte verwendet. Genau so will ich es haben.Ändern der Anwendungseinstellungen in Unit-Tests
In einige meiner Testfällen mag ich spezielle Kombinationen von Werten testen Einstellung, aber ich weiß nicht, wie die Werte von der Klasse unter Test aus dem Unit-Test-Code gesehen zu ändern. Für diese Einstellungen wird immer der Standardwert aus den Attributen der vom Code generierten Klasse geladen.
In meiner Bibliothek Klasse greife ich auf die Einstellungen wie folgt aus:
var mySetting1 = Settings.Default.MySetting1;
var mySetting2 = Settings.Default.MySetting2;
Wie kann ich diese Einstellungen in einem Unit-Test ändern, bevor die Einstellung von der Klasse unter Test zugegriffen wird? Durch den Zugriff auf die interne Einstellungsklasse durch den Komponententest wird das Problem nicht gelöst, da die Einstellungen einen Anwendungsumfang haben und schreibgeschützte Eigenschaften für die Einstellungsklasse sind.
+1 für die Problemumgehung Reload + Eigenschaft Accessor. –
Danke dafür, hätte es nie alleine herausgefunden. –