这可能是也可能不是多界面问题,但我正在做这样的事情:
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代码有关,或者它与我的模拟中的多个接口有关,还是其他什么?
答案 0 :(得分:4)
我找到了这个链接: Castle Project Topic
这似乎表明它在Castle的DynamicProxy中存在问题,Moq(和RhinoMocks)使用它。
答案 1 :(得分:0)
我知道这不是一个答案,但它确实听起来像是MOQ中的一个错误。你用的是什么版本?我刚用2.6(2.6.1014.1)尝试了你的例子,我没有得到例外。