0

我正在尝试进行以下嘲笑

var checkComponent = MockRepository.GenerateStub<IController>();

checkComponent.Stub(r => r.GetSelector().Select(new Position(3,6,1))).Return(true);

我得到的 r.GetSelector()是返回null。

有没有办法让我试图创建嘲笑?

谢谢。

4

1 回答 1

3

我知道 r.GetSelector() 正在返回 null。

这是因为checkComponentr在 Stub() 调用中)不是真正的实现,IController它基本上是实现IController接口的 RhinoMock 代理对象。

有没有一种方法可以让我尝试创建模拟?

您必须指定调用时应返回GetSelector()的内容,当您需要指定方法的期望时,请使用 Mock。

var componentMock = MockRepository.GenerateMock<IController>();
var selectorMock = MockRepository.GenerateMock<ISelector>();

// if you need - specify concrete arguments to return true
selectorMock.Expect(x => x.Select(null)).IgnoreArguments().Return(true).Repeat.Any();
componentMock.Expect(x => x.GetSelector()).Return(selectorMock).Repeat.Any();
于 2012-04-22T11:04:38.137 回答