質問

これはマルチインターフェースの問題である場合とそうでない場合がありますが、私はこのようなことをしています:

var mockInterface1 = new Mock<IInterface1>();
var mockInterface2 = mockInterface1.As<IInterface2>();
mockInterface1.Expect( foo => foo.Foo(It.IsAny<IInterface3>() ) );

...

otherObject.DoSomething( (IInterface1)mockInterface2.Object );

実行時のDoSomething行には、次のように表示されます。

MyTest(TestFixtureSetUp): System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。

----&gt; System.TypeInitializationException: 'IInterface1Proxy184f83d417624e05b450fa40c2c5d35c'の型初期化子が例外をスローしました。

----&gt; System.BadImageFormatException:不正な形式のプログラムをロードしようとしました。 (HRESULTからの例外:0x8007000B)

これは正しいExpectコードを持たないことと関係がありますか、それとも私のモック内の複数のインターフェース、または何か他のものに関連していますか?

役に立ちましたか?

解決

このリンクを見つけました: 城プロジェクトトピック

Moq(およびRhinoMocks)が使用するCastleのDynamicProxyに問題があることを示しているようです。

他のヒント

これはそれ自体が答えではないことは知っていますが、MOQのバグのように聞こえます。どのバージョンを使用していますか? 2.6(2.6.1014.1)であなたの例を試しましたが、例外は発生しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top