【发布时间】:2021-12-19 08:21:25
【问题描述】:
我需要使用 Postgres、Redis 和 Elasticsearch 在 Spring Boot 项目中设置集成测试(稍后还会添加 Kafka)。到目前为止,我找到了两个选择:
- H2 数据库和嵌入式 Redis。这可能有效,但我们在某些查询中使用了一些 Postgres 特定的函数,因此这无法涵盖所有情况。
- Testcontainers。这看起来很完美,但显然不可能在管道中运行,因为我们使用的是 Kubernetes
第三个选项需要一些手动工作。绝对有可能制作一个 docker compose 文件,其中包含测试本地使用所需的所有服务,并让基础设施团队按照他们想要的方式构建容器,以便在管道中运行测试。但是这样一来,开发人员在本地运行测试时就必须手动启动/停止这些容器。
有没有办法自动化这个过程?或者任何类似于 Testcontainers 的选项可以在 Kubernetes 中运行?或者也许有办法在 Kubernetes 中运行测试容器?
提前谢谢你。
【问题讨论】:
标签: spring spring-boot kubernetes integration-testing testcontainers