【问题标题】:Moq multi-interface question起订量多接口问题
【发布时间】:2008-11-20 13:47:28
【问题描述】:

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

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

...

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

在运行时的 DoSomething 行上,我得到:

我的测试(TestFixtureSetUp): System.Reflection.TargetInvocationException : 调用目标抛出异常。

----> System.TypeInitializationException : 'IInterface1Proxy184f83d417624e05b450fa40c2c5d35c' 的类型初始化器引发了异常。

----> System.BadImageFormatException : 试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)

这是否与我没有正确的 Expect 代码有关,还是与我的 mock 中的多个接口有关,或者其他什么?

【问题讨论】:

  • 这适用于最小起订量 3.1.416.3

标签: c# .net unit-testing moq


【解决方案1】:

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

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

【讨论】:

  • 我在使用 Moq 3.0.308.2 时也得到了这个。
【解决方案2】:

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

【讨论】:

  • 我使用的是 2.6(不知道确切的版本,但库说 2.6)
  • 刚刚再次检查:2.6.1014.1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 2019-07-03
相关资源
最近更新 更多