【问题标题】:Options or alternatives to Testcontainers for Spring Boot integration testing in Kubernetes?在 Kubernetes 中进行 Spring Boot 集成测试的 Testcontainers 的选项或替代方案?
【发布时间】:2021-12-19 08:21:25
【问题描述】:

我需要使用 Postgres、Redis 和 Elasticsearch 在 Spring Boot 项目中设置集成测试(稍后还会添加 Kafka)。到目前为止,我找到了两个选择:

  1. H2 数据库和嵌入式 Redis。这可能有效,但我们在某些查询中使用了一些 Postgres 特定的函数,因此这无法涵盖所有​​情况。
  2. Testcontainers。这看起来很完美,但显然不可能在管道中运行,因为我们使用的是 Kubernetes

第三个选项需要一些手动工作。绝对有可能制作一个 docker compose 文件,其中包含测试本地使用所需的所有服务,并让基础设施团队按照他们想要的方式构建容器,以便在管道中运行测试。但是这样一来,开发人员在本地运行测试时就必须手动启动/停止这些容器。

有没有办法自动化这个过程?或者任何类似于 Testcontainers 的选项可以在 Kubernetes 中运行?或者也许有办法在 Kubernetes 中运行测试容器?

提前谢谢你。

【问题讨论】:

    标签: spring spring-boot kubernetes integration-testing testcontainers


    【解决方案1】:

    您可以在基于 Kubernetes 的构建中运行测试容器。您只需要构建(容器)中可用的容器运行时。这可以是无根 docker,并且独立于您的 kubernetes 集群使用的容器运行时。

    【讨论】:

      猜你喜欢
      • 2021-01-27
      • 2020-12-05
      • 2021-05-02
      • 2019-03-01
      • 2019-05-30
      • 2017-12-19
      • 2019-07-06
      • 2018-02-01
      • 2020-08-10
      相关资源
      最近更新 更多