当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:集成测试不排除我的应用程序配置类

谷梁德容
2023-03-14
@EnableAutoConfiguration(exclude = { AppConfig.class})
@ComponentScan
@Configuration
@EnableAsync
public class IntegrationTestAppConfig{
    ..... //this is where I create a bean for my HBaseConnectionManager to use my in-memory table environment
 }
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = IntegrationTestAppConfig.class)
public class AHCLIManagerIT {
    @Test
      .....
 }

但是,当我运行集成测试时,我得到一个错误,说到zookeeper的连接超时了。在堆栈跟踪中,我看到错误发生在AppConfig.java(我的应用程序配置主类)中,它试图创建一个指向ZooKeeper的HBaseConnection。

我不明白为什么我的应用程序没有使用我在注释中定义的App config类。

共有1个答案

谯乐池
2023-03-14

您的AopConfig类实际上是一个自动配置类吗?自动配置类是通过在META-INF中的Spring.Factories文件中命名来加载的。排除属性只适用于那些我相信的。自动配置发生在常规的应用程序配置之后。

配置中还有@componentscan。如果您真的需要排除AopConfig,我希望它会使用这个注释。

尽管IMHO在测试中做组件扫描似乎不太合适

 类似资料:
  • 我被要求在一个非常大的SpringBoot项目中为一个服务创建一个集成测试,该项目产生了几十个已实现的服务。当应用程序执行时,所有这些服务都被部署了——我希望避免部署与我正在为其创建测试的服务无关的所有服务。不幸的是,我(还)没有像我希望的那样有很多Spring启动测试的经验,因此我想知道解决这个问题的最佳方法是什么。 我曾考虑在测试类中使用注释对所有不相关的服务进行注释,并使用对所有相关服务进行

  • 我有一些问题。 允许在集成测试类中自动拥有控制器? 如何为这个控制器创建bean. 我有配置问题:help:

  • 问题内容: 我被要求为一个很大的SpringBoot项目中的服务创建一个集成测试,该项目会产生许多已实现的服务。执行该应用程序时,将部署所有这些服务- 我想避免部署与我正在为其创建测试的服务无关的所有服务。不幸的是,我对弹簧启动测试的经验还不如我所希望的那么多,因此我想知道解决这个问题的最佳方法是什么。 我当时正在考虑使用注解对所有不相关的服务进行注释,并在测试类中对所有相关的服务进行注释,但是我

  • 使用spring-boot时,一切工作都很好。尽管如此,在spring-boot中已删除了注释和。我试图将代码重构为新版本,但我做不到。对于以下测试,我的应用程序在测试之前没有启动,http://localhost:8080返回404: 如何重构测试以使其在Spring-Boot1.5中工作?

  • 我对springfox和Swagger2都是新手。我一直在尝试将SpringFox/Swagger2与我的spring boot微服务集成以生成API文档。 我遵循了“http://springfox.github.io/springfox/docs/snapshot/”站点中给出的步骤。但是我没有成功的带来api文档页面。 每当我试图点击URL“http://localhost:8081/swa