ich eine Methode in meinem Dienst Gewebe Stateless Service-Anwendung haben, die die Konfiguration in Settings.xml von ServiceContextIsolierkanne Service-Fabric ServiceContext für Unit-Tests
public static string GetConnectionString()
{
if (context == null)
return string.Empty;
// return context.CodePackageActivationContext.GetConfigurationPackageObject("Config").Settings.Sections["MySection"].Parameters["ConnectionString"].Value;
ICodePackageActivationContext activationContext = context.CodePackageActivationContext;
ConfigurationPackage configPackage = activationContext.GetConfigurationPackageObject("Config");
ConfigurationSettings configSettings = configPackage.Settings;
string connectionString = configSettings.Sections["ConnectionData"].Parameters["ConnectionString"].Value;
return connectionString;
}
In dem obigen Code, den ich in viele Zeilen aufgeteilt den Code gespeichert bekommen Zum leichteren Verständnis verwende ich den kommentierten Code in meiner Anwendung.
Ich muss Komponententest für diese Methode schreiben. Ich könnte ServiceContext und ICodeActivationContext
Mock Mock Ich konnte jedoch nicht Objekte für ConfigurationSettings und ConfigurationPackage erstellen, da sie interne Konstruktoren haben.
Wie isoliere ich diese Klassen in meinem Komponententest. Oder sollte ich den Dienstkontext Teil von meinem Komponententest ausschließen.
p.s. Wenn meine Antwort nicht funktioniert (Entschuldigung habe ich versucht), ändere den Titel deiner Frage (ich habe keine Ahnung, ob du das wirklich kannst), ich glaube nicht, dass dein aktueller Titel dein sehr gültiges Problem gut beschreibt. ZB wie man eine Klassenheiratracht mit versiegelten Erbauern verhöhnt ... –