我是单元测试新手。但是,如何单元测试用实体框架编写的DAL,因此我可以确保我的DAL代码正常工作,但没有实际触及数据库?请有人提供尽可能详细的信息。如何正确单元测试我的DAL?
11
A
回答
15
如果你想测试你的数据访问层是否工作正确,你真的需要在某个时候对数据库进行测试,否则你实际上并没有测试它的效果。
4
当我单元测试我的DAL时,我使用事务并在单元测试结束时回滚,所以db是干净的。
4
单元测试DAL是开发中非常常见的头痛问题。大多数情况下,我建议你跳过它。
现在大多数ORM都提供某种查询语言,无论是LINQ或HQL还是其他一些风格。因为一个适当的单元测试要求你实际上没有碰到数据库,所以你必须嘲笑ORM,这样做是你能想到的最大的麻烦。这不值得,国际海事组织。最终,您只会最终测试您在代码中编写了适当的查询;你根本没有回归价值,并且可以通过检查代码来更好地服务你的目的。
我不是说你不应该测试你对DAL的使用,只是不要尝试单元测试。您仍应该为您的程序/系统提供一套集成和用户验收测试;让那些处理测试你的数据访问。
相关问题
- 1. 单元测试DAL - 停止运行单元测试时连接
- 2. EF,DAL门面和单元测试
- 3. 单元测试DAL - 请批评
- 4. 单元测试101如何正确测试模型?
- 5. Android单元测试:我如何测试?
- 6. 你如何测试DAL?
- 7. Android单元测试的正确方法
- 8. 如何将DataReader模拟为单元测试DAL
- 9. 如何确保counter_cache在rails单元测试中正确更新?
- 10. 正确单元测试技术
- 11. 单元测试ActionFilter - 正确设置ActionExecutingContext
- 12. 测试NG-IF的div与单元正确显示测试
- 13. 如何在reactjs单元测试中声明正确的值?
- 14. 如何选择单元测试正确的调度
- 15. 如何单元测试复杂TypeToken的正确配置?
- 16. 如何正确的单元测试领域迁移
- 17. 如何在JavaScript中进行单元测试? (正确的方式)
- 18. RavenDB中的单元测试如何正确执行
- 19. 为什么不能正确运行我的单元测试?
- 20. 如何从我的单元测试
- 21. 我如何正确测试Laravel事件?
- 22. 如何测试我正确调用pickle.dump()?
- 23. 如何正确单元测试字符串与参数
- 24. 如何正确单元测试RestEasy响应?
- 25. 如何正确地单元测试域服务?
- 26. 如何为外键正确插入单元测试
- 27. 如何在单元测试中正确使用python模拟setUp
- 28. 如何正确进行单元测试清理套接字
- 29. 如何正确地写角度单元测试对路由
- 30. 如何正确单元测试PUT方法
+1如果一个测试数据库不存在,真的应该创建一个(似乎OP是关心数据更新)。 – 2008-11-21 19:24:18
模拟的作用是什么?有人可以解释一下测试数据库的作用吗? – 2008-11-21 20:27:02