在内存db和spring jdbc中进行集成测试

时间:2015-05-08 14:38:44

标签: oracle integration-testing hsqldb spring-jdbc

我们想要将多个oracle模式导入到某些内存数据库中,这样当我们运行集成测试时,我们可以使用该数据库并更快地运行测试。

无论如何,我们可以使用HSQL db这样的东西来实现。我们正在使用spring框架,它确实支持inmemory db。

对某些资源的任何链接都将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

如果您正在使用12.1.0.2,请尝试force full database caching mode。它与完整的内存数据库不完全相同,但它应该更接近。

alter database force full database caching;

无论如何,内存数据库性能被高估了。甲骨文"老式"异步IO和缓存通常都可以正常工作。例如,在this question中,访问临时表(存储在磁盘上)比使用内存数据结构的等效解决方案运行得更快。而且我已经看到一个小型的Oracle数据库处理了数PB的IO,其中包括"无聊的"旧缓冲区缓存。

或者当你说'#34;更快地运行我们的测试"时,你指的是一个更敏捷的数据库;一个可以由个人控制,而不是安装在服务器上的典型单片Oracle数据库?我发现了很多这个问题,并且没有技术上的理由说明为什么Oracle不能安装在桌面上。但这可能是一场艰难的文化战争。

答案 1 :(得分:0)

Yes, you can use HSQLDB for the purpose of unit testing - see this post for more information on how to integrate with Spring.

Also, see this list as a good starting point for different usages of HSQLDB.