涉及数据库读写的集成测试的最佳实践

Posted Node地下铁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了涉及数据库读写的集成测试的最佳实践相关的知识,希望对你有一定的参考价值。

当你开始为项目编写集成测试,特别是涉及到一些数据库的操作时,如何保证测试代码执行完后原始的数据不会被污染呢?


理想情况下,如果能够在每次用例运行之前开启一个数据库事务,等运行完后再对这次事务做一次回滚是最好不过的了。听着感觉很美好, 但由于 controller 内部的数据库事务是独立的,不受外部测试的影响,所以这种方式也只能想想了。


有人建议测试时重新创建一个数据库,有些人建议运行完测试用例后再跑些恢复数据的sql。小编平时遇到这种情况时会对底层操作数据库的接口做一层 mock,并不会将变更数据库的请求发到真实的数据库服务器上。不知道各位小伙伴们都是怎么处理的呢,不妨点击下面的阅读原文,看看国外的开发者有哪些解决办法~


如果你有什么独特的心得体会,欢迎给我们留言。

以上是关于涉及数据库读写的集成测试的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

集成测试类型和最佳实践

集成单个 PayPal 订阅的最佳实践?

集成测试方法与最佳实践

关于自动化单元/集成测试的 SSDT 开发过程和最佳实践的提示

JSF:AJAX 测试最佳实践

在 HD 中进行数据密集型读写的最佳实践是啥?