这是在 3 天的研究和编写代码之后发生的。我有 EF Code First (EF5) 和基于它构建的通用存储库模式。
现在我有ICustomerRepository<Customer> : IRepository and
CustomerRepository : RepositoryBase<MyContext> , ICustomerRepository
. 因此,当我开始对此进行测试时,我发现我必须编写 A FakeDbContext 、 A Fake IDbSet ,然后还要伪造数据,并且还要做很多事情。当我知道我将使用我的内存数据和 Linq to Entities 测试 Linq to Objects 时,所有这一切都需要以集成测试的形式进行另一套测试。因此,要么我的代码结构错误,因此编写单元测试非常困难,要么有更好的方法来编写我不知道的测试,或者我应该只进行集成测试。我正在使用 NUnit 和最小起订量。
编辑:我要测试的是什么?我正在尝试检查 GetCustomersByType 、 Add 、 GetOrderPlacedByCustomer 等方法。试图查看这些方法中的逻辑是否正确。我猜这就是单元测试的用途。