0

我有一个带有通用方法的服务工厂GetService。根据我所传递的信息,T它可以让我为该特定课程提供服务。

现在我有一个方法,它使用多个这些服务,我需要对所有这些服务进行存根。Ex: GetService<Coffee> , GetService<Tea>.

mockrepo.Stub(x => x.GetService<Coffee>().Expect(c => c.RetrieveList(coffeeCollection)).IgnoreArguments());
mockrepo.Stub(x => x.GetService<Tea>().Retrieve(1)).Return(testrefDataRefEle1);

在上面的代码中,在第二个存根上出现错误“对象引用未设置为对象的实例”。

4

1 回答 1

0

你不能在 Rhino.Mocks 中做这样的递归模拟。您必须为具有该Retrieve方法的任何对象创建一个存根并将其设置为 return testrefDataRefEle1。然后设置存根GetService<Tea>以返回另一个模拟对象。

于 2012-09-04T15:53:51.773 回答