Spring boot 使用 kafka 容器进行集成测试

问题描述 投票:0回答:1

嗨,所以我有一个非常基本的 Spring Boot 应用程序,它发布到 kafka 主题

我对容器进行了集成测试,设置如下:

  protected static final KafkaContainer KAFKA_CONTAINER =
      new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka").withTag("7.6.1")).withReuse();

我注意到,如果重复使用,测试将需要很长时间才能运行,10 秒或更长时间。有时它们在正常运行时会失败,但在调试时却很好。并且在管道中运行良好。

我不确定,但一旦我删除并重复使用,一切都变得非常快,并且一切正常。任何想法为什么,顺便说一句,我在本地运行测试作为单个测试

spring-boot apache-kafka spring-kafka testcontainers
1个回答
0
投票

您的问题可能源于启动和停止 Kafka 容器所需的时间,可重用性意味着每次测试运行之间的等待时间。通过消除可重用性,所有测试都在单个 Kafka 容器实例中运行,减少了容器启动和终止的时间,从而加速了测试执行。

© www.soinside.com 2019 - 2024. All rights reserved.