【问题标题】:Integration test with in memory db and spring jdbc内存数据库和弹簧 jdbc 的集成测试
【发布时间】:2015-07-19 12:38:22
【问题描述】:

我们有多个 oracle 架构,我们希望将其导入某种内存数据库,以便在运行集成测试时可以使用该数据库并更快地运行测试。

无论如何,我们可以使用 HSQL db 之类的东西来实现这一点。我们使用的是 spring 框架,它确实支持内存数据库。

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

【问题讨论】:

    标签: oracle integration-testing hsqldb spring-jdbc


    【解决方案1】:

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

    alter database force full database caching;
    

    内存数据库的性能无论如何都被高估了。 Oracle 的“老式”异步 IO 和缓存通常工作得很好。例如,在this question 中,访问临时表(存储在磁盘上)比使用内存数据结构的等效解决方案运行得更快。我还看到一个小型 Oracle 数据库使用“无聊”的旧缓冲区缓存来处理 PB 级的 IO。

    或者当您说“更快地运行我们的测试”时,您指的是更敏捷的数据库吗?一个可以由个人控制的数据库,而不是安装在服务器上的典型的单体 Oracle 数据库?我经常看到这个问题,并且没有技术原因无法在您的桌面上安装 Oracle。但这可能是一场艰苦的文化斗争。

    【讨论】:

      【解决方案2】:

      是的,您可以将 HSQLDB 用于单元测试 - 有关如何与 Spring 集成的更多信息,请参阅this post

      另外,请参阅 this list 作为 HSQLDB 不同用法的良好起点。

      【讨论】:

        猜你喜欢
        • 2014-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多