【问题标题】:Integration tests with specific SQL command for PostgreSQL database使用 PostgreSQL 数据库的特定 SQL 命令进行集成测试
【发布时间】:2021-08-04 22:30:45
【问题描述】:

我有一个服务调用存储库,该存储库生成一些特定的 SQL 命令,这些命令仅在 PostgreSQL 上可用(如 current_date 和 array_agg)。我想为这个存储库做一些集成测试。通常你会为这种集成测试生成一个 H2 数据库,但它仅适用于标准 sql,不适用于特定 SQL。你知道测试我的存储库的方法吗?我应该为这些测试生成一个 Postgres SQL 服务器,还是有一些像 postgres 到 h2 这样的翻译器?或者其他避免产生 Postgres 实例的方法?

问候, 模糊。

【问题讨论】:

    标签: spring postgresql unit-testing


    【解决方案1】:

    如果您想对非标准 PostgreSQL SQL 语法进行自动测试,您唯一的好选择是针对 PostgreSQL 进行测试。如果您针对其他任何东西进行测试,它要么会失败,要么您无法确定它是否适用于 PostgreSQL。

    【讨论】:

      【解决方案2】:

      查看testcontainers,它们是为集成测试生成基础架构依赖项的好方法。如果您想测试 PostgreSQL 特定查询,那么没有其他方法,只能针对该数据库运行它。使用 testcontainers 可以很容易地设置和拆除测试数据库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-07
        • 2019-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多