【发布时间】:2011-10-24 02:30:25
【问题描述】:
我使用 RhinoMocks 已经有一段时间了,但刚刚开始研究起订量。我有这个非常基本的问题,令我惊讶的是,这并不是开箱即用的。假设我有以下类定义:
public class Foo
{
private IBar _bar;
public Foo(IBar bar)
{
_bar = bar;
}
..
}
现在我有一个测试,我需要模拟发送给 Foo 的 IBar。在 RhinoMocks 中,我会像下面这样简单地做,它会很好用:
var mock = MockRepository.GenerateMock<IBar>();
var foo = new Foo(mock);
但是,在最小起订量中,这似乎并不相同。我这样做如下:
var mock = new Mock<IBar>();
var foo = new Foo(mock);
但是,现在它失败了 - 告诉我“无法从 'Moq.Mock' 转换为 'IBar'。我做错了什么?推荐使用 Moq 的方法是什么?
【问题讨论】: