【发布时间】:2015-12-28 08:55:24
【问题描述】:
我们决定在我们的 Web 应用程序中实现集成测试。 Web 应用程序基于 java、spring、spring MVC、hibernate 和 mysql。
当我对它进行一些研究时,我发现很多人都在使用 dbunit。我发现的另一种方法是使用像 H2 这样的嵌入式数据库?
我发现很少有人使用单独的测试数据库进行集成测试。
那么,设置数据库进行集成测试的理想方法是什么?
【问题讨论】:
-
您最好使用与生产中使用的数据库相同的数据库,否则您将测试您的应用在 H2 上运行良好,虽然它不能在生产中运行在 H2 上,但在 MySQL 上运行,这是一个完全不同的数据库。有什么意义?
-
但是 live 或 dev db 中的数据会不断变化。那么,我们如何针对不断变化的数据编写测试呢?
-
我不确定,但是否可以仅对测试使用相同的数据库但一些预定义/不同的数据?
-
你误解了我的意思。不要使用相同的数据库实例。使用相同的数据库产品。 IE。使用 MySQL 的本地实例,填充测试数据。要设置测试数据,我会使用 DbSetup。免责声明:我是作者。 dbsetup.ninja-squad.com
-
哦,对不起。调查 dbsetup。
标签: spring spring-mvc integration-testing spring-test dbunit