有没有一种方法可以使用Rhino Mocks为IObjectSet<T>生成存根?

之后的内容类似于以下代码:

var context = MockRepository.GenerateMock <IContext>();
//generate stub
var mockProjectObjectSet = MockRepository.GenerateStub<IObjectSet<Project>>();
TestObjectSets.GenerateFakeProjectList(mockProjectObjectSet);
context.Expect(p => p.Projects).Return(mockProjectObjectSet);
var projectRepository = new ProjectRepository(context);


GenerateFakeProjectList静态帮助器方法中,我只是创建指定类型的对象,并通过AddObject上的IObjectSet方法将它们添加到存根中:

public static IObjectSet<Project> GenerateFakeProjectList(IObjectSet<Project> projectsObjectSet)
{
   projectsObjectSet.AddObject(new Project()
   {
     Categories = null,
     DateCreated = DateTime.Now.AddDays(-10),
    .......

最佳答案

我会使用一个具体的实例,或者一个简单的假冒。该接口具有少量方法,实现似乎很简单。模拟该接口只会增加不必要的复杂性。

09-11 03:25