我正在尝试增加整体集成测试执行时间,我目前正在评估各种内存数据库解决方案。这个想法是让 DAO 在测试期间访问内存数据库,而不是访问真正的数据库。这是一个使用 Hibernate 进行持久性的 java 应用程序。
我很想看看您对这些产品之一 H2、Derby、HSQLDB、Oracle Berkeley DB 的体验。
我的一些担忧是:内存数据库是否能够执行存储过程、自定义本机 sql?您能否有选择地选择您的哪一项服务应该访问真实数据库和内存数据库?
总的来说,由于这种方法涉及数据库引导(预加载/预创建所有带有数据的表),我现在正在考虑是否只模拟 DAO 层而不用担心所有未知问题是否会更容易在 mem DB 中可能会带来...
谢谢。