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

时间:2019-10-18 10:10:22

标签: java spring spring-boot spring-kafka spring-boot-test

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

我的应用看起来像这样:

@SpringBootApplication
@EnableKafka
public class MyApplication {

2 个答案:

答案 0 :(得分:2)

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

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

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

选中此solution

答案 1 :(得分:2)

Spring Boot带有针对Spring Kafka的自动配置,因此您不需要使用显式的@EnableKafka。您只需在测试中排除KafkaAutoConfiguration

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