涉及数据库读写的集成测试的最佳实践
Posted Node地下铁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了涉及数据库读写的集成测试的最佳实践相关的知识,希望对你有一定的参考价值。
当你开始为项目编写集成测试,特别是涉及到一些数据库的操作时,如何保证测试代码执行完后原始的数据不会被污染呢?
理想情况下,如果能够在每次用例运行之前开启一个数据库事务,等运行完后再对这次事务做一次回滚是最好不过的了。听着感觉很美好, 但由于 controller 内部的数据库事务是独立的,不受外部测试的影响,所以这种方式也只能想想了。
有人建议测试时重新创建一个数据库,有些人建议运行完测试用例后再跑些恢复数据的sql。小编平时遇到这种情况时会对底层操作数据库的接口做一层 mock,并不会将变更数据库的请求发到真实的数据库服务器上。不知道各位小伙伴们都是怎么处理的呢,不妨点击下面的阅读原文,看看国外的开发者有哪些解决办法~
如果你有什么独特的心得体会,欢迎给我们留言。
以上是关于涉及数据库读写的集成测试的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章