c# – 在单元测试中进行模拟时,数据库/实体框架与内存列表之间的
发布时间:2020-12-15 17:24:49 所属栏目:百科 来源:网络整理
导读:我最近一直在用模拟进行大量的单元测试.让我觉得有点问题的一件事是查询内存列表(通过模拟我的存储库)和通过实体框架直接查询数据库之间的区别. 其中一些情况可能是: 测试过滤器参数,该参数对数据库不区分大小写,但区分大小写 对内存集合导致错误的失败. Li
我最近一直在用模拟进行大量的单元测试.让我觉得有点问题的一件事是查询内存列表(通过模拟我的存储库)和通过实体框架直接查询数据库之间的区别.
其中一些情况可能是: >测试过滤器参数,该参数对数据库不区分大小写,但区分大小写 处理或解决这些差异的正确方法是什么,以便在测试中没有错误传递或失败?我非常喜欢嘲笑,因为它让事情变得更快更容易测试.但在我看来,获得真正准确测试的唯一方法是仅针对实体框架/数据库环境进行测试. 解决方法
除了单元测试之外,您还应该创建集成测试,这些测试针对生产中遇到的真实数据库设置运行.
我不是EF的专家,但是对于NHibernate,你可以创建一个配置,指向SQLite的内存中实例,然后运行快速测试(即在开发周期中你要通过测试)套房尽可能快).当您想要针对真实数据库运行集成测试时,您只需将NHibernate配置更改为指向真实数据库设置并再次运行相同的测试. 如果你无法实现与EF类似的东西,那将会令人惊讶. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读