我們有一個引用WCF服務的MVC項目。這些引用爲每個DTO和Response對象添加(ExtensionDataObject)ExtensionData
屬性,現在AutoFixture
未能創建這些類型的匿名實例。Ploeh AutoFixture無法從System.Runtime.Serialization.ExtensionDataObject創建實例
實施例:
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
或其他任何東西,這會讓我對所有具有ExtensionData
屬性的對象執行CreateAnonymous
。
自AutoFixture 3.x以來,最後一行代碼觸發了由於contstructor調用被標記爲Obsolete而導致的警告。要刪除它,請將其更改爲:new NoSpecimen() – dzendras 2016-08-10 12:39:21