【发布时间】:2013-03-18 14:11:36
【问题描述】:
我们有一个引用 WCF 服务的 MVC 项目。这些引用将 (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 或其他任何内容,这可以让我对所有具有 ExtensionData 属性的对象执行 CreateAnonymous。
【问题讨论】:
标签: c# .net autofixture