Ich habe so einen Satz von Konstruktoren:Verwenden Sie Moq zum Mock Constructor?
public BusinessObjectContext()
: this(CloudStorageAccount.FromConfigurationSetting("DataConnectionString").TableEndpoint.ToString(),
CloudStorageAccount.FromConfigurationSetting("DataConnectionString").Credentials) {}
public BusinessObjectContext(string dataConnectionString)
: this(CloudStorageAccount.Parse(dataConnectionString).TableEndpoint.ToString(),
CloudStorageAccount.Parse(dataConnectionString).Credentials) { }
public BusinessObjectContext(String baseAddress, StorageCredentials credentials)
: base(baseAddress, credentials) { }
jedoch bei der Prüfung/Verspottender ich das Objekt ohne eine der Verbindungszeichenfolge Parameter benötigen. Wie kann ich das machen - am besten in Moq?
Ist das überhaupt möglich?
Hrrm. Ich sehe das Argument in diesem Konzept. Auf der anderen Seite wollte ich den Benutzer des Objekts GenericBusinessObject davor schützen, über den Datenquellenkontext nachzudenken. Wenn ich Ihren Argumenten folge, dann muss der Benutzer des GenericBusinessObject darüber nachdenken. Das ist weniger Abstraktion. Vielleicht gibt es keinen anderen Weg, aber etwas lässt mich zögern. –
Stellen Sie eine Fabrik her oder verwenden Sie einen IOC-Conatainer, um diese Notwendigkeit für den Benutzer zu beseitigen, sich um den Datenkontext zu sorgen. – Finglas