在测试之间为 Spring 属性(Kafka 主题)分配随机值

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

我正在使用 Kafka 编写一个 Spring Boot 应用程序,并希望通过在每个测试中为我的消费者和生产者创建一个新主题来实现完整的测试隔离,正如 Gary Russell 在此处解释的那样:如何使用 Spring Kafka 清除测试中的主题

我认为我可以通过在测试之间修改具有主题名称的属性来实现这一点,假设它是

${kafka.topicName}

如何在每次测试之前通过

@DynamicPropertySource
或其他机制为属性分配新的随机值?

任何其他关于实现“每次测试的新主题”目标的提示也会有所帮助。

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

假设您只是使用 AdminClient 创建主题,您可以 为每个测试方法创建一个主题,而不是“随机”

您还可以使用 Testcontainers 在测试之间启动/停止临时容器。原生镜像 Kafka 容器启动速度非常快,并且不占用太多资源

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