我正在尝试进行以下嘲笑
var checkComponent = MockRepository.GenerateStub<IController>();
checkComponent.Stub(r => r.GetSelector().Select(new Position(3,6,1))).Return(true);
我得到的 r.GetSelector()
是返回null。
有没有办法让我试图创建嘲笑?
谢谢。
我正在尝试进行以下嘲笑
var checkComponent = MockRepository.GenerateStub<IController>();
checkComponent.Stub(r => r.GetSelector().Select(new Position(3,6,1))).Return(true);
我得到的 r.GetSelector()
是返回null。
有没有办法让我试图创建嘲笑?
谢谢。
我知道 r.GetSelector() 正在返回 null。
这是因为checkComponent
(r
在 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();