【问题标题】:Test containers: manipulate existing docker compose services测试容器:操作现有的 docker compose 服务
【发布时间】:2022-02-18 18:06:20
【问题描述】:

我正在使用 Maven 预集成测试和集成后测试来设置和拆除具有三个服务(例如 A、B 和 C)的测试环境

是否可以在测试前使用测试容器重新启动其中一项服务?如果没有,我可以使用其他用于 Java 的 docker 库来做到这一点吗?

谢谢!

【问题讨论】:

    标签: testcontainers testcontainers-junit5


    【解决方案1】:

    如果您的测试与此类似。

    @Container
    public GenericContainer container = new GenericContainer(...);
    

    您可以使用 junit5 BeforeEachAfterEach 注释在运行测试用例之前/之后重新启动容器。

    @BeforeEach
    public void beforeEach() {
      container.start();
    }
    
    @AfterEach
    public void afterEach() {
      container.stop();
    }
    

    如果你只需要在特定测试之前重启容器,你可以尝试使用@Nested annotation重新组织你的测试方法

    【讨论】:

    • 有没有办法将测试容器附加到现有的 docker 容器,然后启动/停止它?
    猜你喜欢
    • 1970-01-01
    • 2023-04-11
    • 2018-03-29
    • 1970-01-01
    • 2017-04-15
    • 2017-06-02
    • 2021-07-05
    • 2021-05-05
    • 2018-01-20
    相关资源
    最近更新 更多