使用部分存根时在Moles中分配存根类方法

时间:2011-09-09 19:22:17

标签: moles

我见过关于部分存根的this question,但它并不能告诉我需要知道什么。

我理解,如果我正在为一个类使用Moles存根(比方说,对于DataService,我正在使用SDataService),我可以将CallBase属性设置为true这样,如果没有特定方法的委托,将调用基本实现的方法。很好,但在这种情况下如何为特定方法分配委托?

如果无法做到这一点,请说我有一个接口IDataService,我使用SIDataService存根。我可以在这里轻松地为一个方法分配一个委托。但是,如果没有给定方法的委托,我如何告诉它在DataServiceIDataService的实现)上调用相应的方法?

谢谢!

修改

我现在看到该方法需要在上面的第一个场景中被覆盖。我认为这不是很有意义,但事实就是如此。

那么,关注第二种情况,我是否必须创建一个Behavior? (为什么不存在像存在痣的存根?)或者有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

代表(弯路)设置为与鼹鼠类型相同的存根类型。例如,SIDataService.GetMemberProfile()配置为返回如下的模拟对象:

var memberMock = new Member() { Firstname="Joe", LastName="Schmoe" };
var stub = new SIDataService();
stub.GetMemberProfileMember = i => memberMock;