我有一个db层。我想测试db CRUD结果 我希望每个单独的测试都是独立的,所以我只是在setUp()中创建表,并将所有表放在tearDown()中。那么有没有什么好的方法来独立测试数据库访问?我的意思是我不需要在每次测试中删除所有表格如何测试数据库访问代码
0
A
回答
1
有几种方法。
您可以使用“DELETE”语句删除每次测试后的所有数据。据我所知,删除速度很慢),所以不太可取的做法。
您可以在每次测试后截断表格,以使它们为空。
(我最喜欢的一个)在每次测试前打开一个事务,并且回滚它在测试结束后(甚至成功!)。这样你就可以像在测试之前一样保存db中的状态。
希望这有助于在拆卸或设置
+0
谢谢你!你和@ k3b都给了我很好的建议,所以我很难选择哪一个作为答案!最后,我选择你的,因为你给我三种方法... – jiluo
1
您可以在数据库事务中执行数据库测试,该测试将在测试后回滚。
例如在java/spring中,可以使用将为每个测试创建和回滚事务的 TestContext framework。
+0
感谢您的建议!我不知道以前使用交易。 – jiluo
相关问题
- 1. 单元测试数据库访问层
- 2. 访问Pytest通过/失败计数(测试数据)的代码
- 3. 单元测试的数据库代码
- 4. WordPress:从Widget代码访问数据库
- 5. 从PHP代码访问MySQL数据库
- 6. 集成测试数据访问代码为SQL
- 7. 如何在Twisted试验测试中访问源代码树?
- 8. 如何单元测试数据库访问逻辑,而数据库
- 9. 测试数据访问层
- 10. 如何避免在此测试用例中访问数据库
- 11. 如何单元测试数据库访问/ ORM实体?
- 12. 如何测试视图助手与数据库访问
- 13. 如何对数据库访问逻辑进行单元测试?
- 14. 代码访问ActiveDirectory的单元测试
- 15. 如何对业务逻辑和数据访问代码进行单元测试
- 16. 如何测试使用数据库(mysql)的Go代码?
- 17. 如何使用EF4代码先测试数据库
- 18. 如何测试交易数据库代码?
- 19. 如何使用测试数据库代理生产数据库?
- 20. 如何测试数据库
- 21. 如何访问的Joomla数据库运行这段代码
- 22. 如何在Android项目中组织数据库访问代码?
- 23. 如何嵌入数据库访问代码?
- 24. 如何从代码访问elmah数据库?
- 25. 如何减少数据库访问层中的代码重复?
- 26. 替代访问数据库
- 27. 如何从C#代码访问Oracle数据库触发器代码
- 28. 测试代码中的访问测试类路径
- 29. 单元测试的Node.js型号代码访问MongoDB的,实际上并没有访问数据库
- 30. 如何访问数据库
为什么不'删除from'表? –