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

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

  • 我希望文档的显示方式类似于它在特定于应用程序的上下文路径下的文档中提到的方式。你能告诉我我错过了什么吗?