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はANを作成 することができませんでした例: System.Runtime。 Serialization.ExtensionDataObject、最も可能性が高いそれは、何のpublicコンストラクタを持たない抽象的または非パブリック型の..です
質問 ので:それはとしてそれをインスタンス化するようAutoFixture以内にこのオブジェクトを登録する方法は、ありますnull
など、ExtensionData
プロパティを持つすべてのオブジェクトに対してCreateAnonymous
を実行させることができます。
PropertyTypeOmitter
クラスで仕事を得ることができた見つけることを願っています
AutoFixture 3.x以降では、コードの最後の行が、contstructor呼び出しがObsoleteとマークされたことに起因する警告をトリガします。これを削除するには、次のように変更します。new NoSpecimen() – dzendras