java - 使用@RunWith(SpringJUnit4ClassRunner.class),可以访问ApplicationContext对象吗?

标签 java spring unit-testing junit integration-testing

我有一个 Spring 测试使用:

@RunWith(SpringJUnit4ClassRunner.class)

与旧的测试方法不同,从 Spring 测试基类扩展,似乎没有明显的方法可以访问 Spring 使用 @ContextConfiguration

加载的 ApplicationContext

如何从我的测试方法中访问 ApplicationContext 对象?

谢谢!

最佳答案

来自 Integration Testing Spring 文档的部分

@Autowired ApplicationContext

As an alternative to implementing the ApplicationContextAware interface, you can inject the application context for your test class through the @Autowired annotation on either a field or setter method. For example:

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

  @Autowired
  private ApplicationContext applicationContext;

  // class body...
}

关于java - 使用@RunWith(SpringJUnit4ClassRunner.class),可以访问ApplicationContext对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14822730/

相关文章:

java - 创建对象类的新实例

java - 强制 Maven 命令行参数

spring - 如何使用@Configuration排除spring配置文件以依赖其他项目

javascript - 如果它们是只读的,我如何模拟 ES6 导入的模块?

java - 另一个 java 通用问题

java - 迭代 JSON 对象数组

python - Tornado 测试运行程序的覆盖支持

java - 在同一个对象上多次调用 Mockito.when?

java - 搜索正则表达式模式以查找 "forbidden"个字符

spring - Web 应用程序在嵌入式 tomcat 中的运行速度比在独立 tomcat 中快得多