私はこのオブジェクトから新しいコピーを取得できるようにオブジェクトをシリアル化するメソッドを post (accepted answer code)から取得しました。拡張機能でMoqを無視するにはどうすればよいですか? Moq.Interceptorがシリアル化可能ではありません
今、私はユニットテストを行うにしようとしていますが、毎回私はそれが
Tests.ServiceLayer.TestTService.Test_Somethingを思い付くクローンしようとしているオブジェクトを取得します: System.Runtime.Serialization .SerializationException :タイプアセンブリ の 'Moq.Interceptor' '部品番号、バージョン= 3.1.416.3、 文化=中立、 なPublicKeyToken = 69f491c39445e920' が としてシリアル化可能とマークされていません。
だから私のモックアップされたオブジェクトには、クローンがコピーしようとしているが、できないものがいくつかあるようです。
私はこれらのことを無視するように指示する方法は不明です。私はクローンを模倣するだろうが、私は私がモックアウトすることはできないと思う拡張方法を使用している。
あなたは何を試そうとしていますか?モックはシリアル化可能ではない可能性が高いため(実際はそうではないため)、Cloneメソッドは機能しません。しかし、単純なデータオブジェクトをコピーしたいだけなので、Moq <> – mfloryan
@mfloryanのモックではなく単純なスタブを作成できるはずです。このオブジェクトはnHibernateで使用されているドメインオブジェクトなので他のオブジェクトへの多くのオブジェクト参照を持っています。したがって、実際には必要な深いコピーです。私は手動でタスクを作成することができますが、そのオブジェクト内にオブジェクトのコレクションの多くを作成しなければならないので、足の仕事のほんの一部です。だから、ほとんどのことを嘲笑しているのはちょっといい感じだった。私はそれを回避することができない場合、私はこれを行います。 – chobo2