Spring 测试 : How to enable auto-scan of beans

标签 spring unit-testing spring-test

例如,现在在每个测试课中我都要做

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigContextLoader.class)

我想摆脱

 @ContextConfiguration(loader=AnnotationConfigContextLoader.class)

并希望 Spring 扫描我项目中的所有 bean。

我该怎么做?

最佳答案

你可以这样做:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class MyTest {

  @Test
  public void testSomething() {

  }

  @Configuration
  @ComponentScan("basepackage")
  public static class SpringConfig {

  }
}

默认情况下,@ContextConfiguration 会寻找带有 @Configuration 注释的静态内部类,这就是为什么这个设置可以正常工作的原因。

您可以完全摆脱 loader 参数,这不是必需的

关于 Spring 测试 : How to enable auto-scan of beans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23416366/

相关文章:

java - 如何使用 jar 外部的 spring boot 提供静态内容?

java - Spring Boot Actuator的DataSourcesHealthIndicatorConfiguration找不到dataSource bean

spring - org.springframework.data.mapping.PropertyReferenceException : No property catch found for type

unit-testing - 如何使用Ginkgo对HTTP请求进行单元测试?

java - 这在 Mockito : when(SomeClass. getIntance()).thenReturn(myMock) 中可能吗?

java - 如何使用 JUnit 在 Spring 中测试 ConfigurationProperties?

java - 使用模拟服务/组件进行 Spring Boot 集成测试

java - 处理更改的 ENUM 定义 - 数据库

PHPUnit - 三叶草覆盖上的 PHP_Token_Stream 错误

java - Spring测试-使用真实的bean来创建测试bean