У нас есть проект MVC со ссылками на службы WCF. В этих ссылках добавлено свойство (ExtensionDataObject)ExtensionData
для каждого объекта DTO и Response, а теперь AutoFixture
не удается создать анонимные экземпляры этих типов.
Пример:
public partial class SearchResultsDto : object,
System.Runtime.Serialization.IExtensibleDataObject,
System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
}
код:
_fixture = new Fixture().Customize(new AutoMoqCustomization());
var dto = _fixture.CreateAnonymous<SearchResultsDto>();
Исключение:
Ploeh.AutoFixture.ObjectCreationException: Ploeh.AutoFixture.ObjectCreationException: AutoFixture не смог создать экземпляр из System.Runtime.Serialization.ExtensionDataObject, скорее всего, потому что он не имеет публичного конструктора, является абстрактным или непубличным типом.
Вопрос: Есть ли способ зарегистрировать этот объект в AutoFixture, чтобы он создавал его как null
или что-то еще, что позволило бы мне сделать CreateAnonymous
для всех объектов с свойством ExtensionData
.