从Spring Component扫描集成测试

时间:2017-02-15 06:55:25

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

我有一个使用Spring Boot框架构建的Spring Rest应用程序。 现在在编写Spring Integration Test时,我想排除一个类 从得到组件scan.my这个类包含Apache Kafka的依赖项。 如果在启动容器时加载此类,则会开始查找Kafka运行实例。

所以在运行Integration测试时我不会启动我的Kafka服务器,所以我想运行 集成测试使Kafka关闭。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

最简单的方法是使用配置文件。在您只希望对集成测试可见的bean中添加:

@Profile("integration=test")

在集成测试的顶部,激活配置文件:

@ActiveProfile("integration-test")

任何未指定配置文件的bean(所有其他bean)都将出现在测试和默认配置文件中。如果没有给出,则默认为配置文件的名称。

答案 1 :(得分:0)

您可以从测试配置中排除cafka配置。你没有共享你的代码,但它会是这样的

@SpringBootApplication(exclude = CafkaConfiguration.class)
public class IntegrationTestConfig { 
}

另一方面,你可以肯定嘲笑kafka

How can I instanciate a Mock Kafka Topic for junit tests?

相关问题