如何在 Spring 启动测试中禁用 `@EnableKafka`?

How to disable `@EnableKafka` in Spring Boot tests?

我想 运行 我的集成测试,但我不知道如何禁用 @EnableKafka

我的应用看起来像这样:

@SpringBootApplication
@EnableKafka
public class MyApplication {

您可以为 Kafka 配置创建另一个配置文件。

@ConditionalOnProperty("kafka.enabled")
@EnableKafka
@Configuration
public class KafkaConfiguration { }

这样,然后您可以在 test.properties 文件中禁用此 属性。

勾选这个

Spring 引导带有 Spring Kafka 的自动配置,因此您不需要使用显式 @EnableKafka。您在测试中需要做的只是排除 KafkaAutoConfiguration:

@SpringBootTest("spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration")

您可以使用此 Spring 注释禁用 Kafka 的自动配置:

@EnableAutoConfiguration(exclude = [KafkaAutoConfiguration.class])