Moq多接口问题

时间:2008-11-20 13:47:29

标签: c# .net unit-testing moq

这可能是也可能不是多界面问题,但我正在做这样的事情:

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代码有关,或者它与我的模拟中的多个接口有关,还是其他什么?

2 个答案:

答案 0 :(得分:4)

我找到了这个链接: Castle Project Topic

这似乎表明它在Castle的DynamicProxy中存在问题,Moq(和RhinoMocks)使用它。

答案 1 :(得分:0)

我知道这不是一个答案,但它确实听起来像是MOQ中的一个错误。你用的是什么版本?我刚用2.6(2.6.1014.1)尝试了你的例子,我没有得到例外。