У меня есть такой набор Конструкторов:Используйте Moq, чтобы высмеять конструктор?
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) { }
Однако при тестировании/Дразнящей мне нужна объект без какого-либо из параметров строки соединения. Как я могу это сделать - предпочтительнее в Moq?
Возможно ли это вообще?
Hrrm. Я вижу аргумент в этой концепции. С другой стороны, я хотел защитить пользователя объекта GenericBusinessObject от размышлений о контексте источника данных. Если я следую вашим аргументам, пользователь GenericBusinessObject должен подумать об этом. Это меньше абстракции. Может быть, нет другого пути, но что-то заставляет меня стесняться. –
Создайте завод или используйте Conacainer IOC, чтобы устранить эту проблему, чтобы пользователь мог беспокоиться о контексте данных. – Finglas