3

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

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 代码有关,还是与我的 mock 中的多个接口或其他原因有关?

4

2 回答 2

4

我找到了这个链接: 城堡项目主题

这似乎表明这是 Moq(和 RhinoMocks)使用的 Castle 的 DynamicProxy 中的一个问题。

于 2008-11-21T14:12:27.573 回答
0

我知道这不是一个答案,但听起来确实像 MOQ 中的一个错误。你用的是什么版本?我刚刚使用 2.6 (2.6.1014.1) 尝试了您的示例,但没有出现异常。

于 2008-11-20T16:48:23.903 回答