0

我读到使用工作单元/存储库模式的主要原因之一是可以在单元测试期间模拟您的数据访问层。如果这是真的,那么在我看来,制作这样的存储库(在有关该主题的各种博客上看到)似乎会使事情变得比模拟时更复杂。鉴于您只有ICustomerRepository可以在模拟框架中使用,您将如何模拟GenericRepository的方法?

public class CustomerRepository : GenericRepository<Customer>, ICustomerRepository
{
    public CustomerRepository(ObjectContext context) : base(context) { }

    public IList<Customer> NewlySubscribed()
    {
        var lastMonth = DateTime.Now.Date.AddMonths(-1);

        return GetQuery().Where(c => c.Inserted >= lastMonth)
        .ToList();
    }

    public Customer FindByName(string firstname, string lastname)
    {
        return GetQuery().Where(c => c.Firstname == firstname && c.Lastname == lastname).FirstOrDefault();
    }
}
4

1 回答 1

0

是的,在我问这个问题之前,也许我应该读过一本关于面向对象编程的书(但它们非常耗时),ICustomerRepository 继承自 IGenericRepository 并且所有单元测试都很好。

于 2013-04-19T20:33:26.160 回答