これはマルチインターフェイスの問題である場合とそうでない場合がありますが、私は次のようなことをしています:
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 : 呼び出しのターゲットによって例外がスローされました。
----> System.TypeInitializationException : 'IInterface1Proxy184f83d417624e05b450fa40c2c5d35c' の型初期化子が例外をスローしました。
----> System.BadImageFormatException : 不正な形式のプログラムをロードしようとしました。(HRESULT からの例外: 0x8007000B)
これは、適切な Expect コードを持っていないことと関係がありますか?それとも、モックの複数のインターフェイスに関連していますか?