我已经阅读了很多关于实体框架的单元/集成测试的 SO 链接,如果我没有误解的话,可以总结一下:
当存储库接口公开 IQueryable 时,我必须进行集成测试(单元测试是不够的),因为作为 linq 到实体的 IQueryable 可以变成 linq 到对象查询,它的行为可能完全不同,只能通过真实的测试数据库。
当存储库接口仅公开 IEnumerable 或 List 时,对存储库进行单元测试就足够了。
我知道在我的服务中编写一个 IQueryable 而不添加许多新的接口方法会非常酷......
但如果上述情况属实,并且我想尽可能避免集成测试......
你怎么看?