Ich habe eine Bibliothek, für die ich Komponententests schreibe. Die Bibliothek wird von zwei Anwendungen verwendet: Die eine ist eine Windows-Dienst, die andere eine Befehlszeilenanwendung, die einige Lese- Schreibvorgänge der Registrierung ausführt. Jeder hat eine etwas andere App.config-Datei, die beim Start von der Bibliothek geladen wird. Zum Beispiel:Wie konfiguriere ich meine Einstellungsdatei für die Arbeit mit Komponententests?
public RetentionService()
{
SettingHive = new Hive();
TimingService = new RetentionTimingService(SettingHive);
AppSettingsReader asr = new AppSettingsReader();
object appsListObj = asr.GetValue(@"blocking-process-list", Type.GetType(@"System.String"));
string appsList = appsListObj.ToString();
_BlockingAppNames = RetentionService.ListFromList(appsList);
string targetList = asr.GetValue(@"target-files", Type.GetType(@"System.String")).ToString();
_TargetLogs = RetentionService.ListFromList(targetList);
}
Wenn ich versuche, diese Bibliothek von einem Unit-Test zu verwenden, um es zu laden schlägt fehl, da die Anwendung die Bibliothek geladen (vermutlich nunit) keine * .exe.config Datei mit dem entsprechenden hat Schlüssel.
Was ist eine bessere Möglichkeit, dies zu tun? Ich möchte, dass die Bibliothek die Einstellungen aus der * .exe.config-Anwendung jeder Anwendung in der Produktion lädt, aber von einem dritten Speicherort, wenn ein Komponententest ausgeführt wird.