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

ege*_*ari 12 java junit spring integration-testing unit-testing

我有一个Spring测试使用:

@RunWith(SpringJUnit4ClassRunner.class)
Run Code Online (Sandbox Code Playgroud)

与旧的测试方法不同,从Spring测试基类扩展,似乎没有明显的方法来访问由Spring加载的ApplicationContext @ContextConfiguration

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

谢谢!

Mar*_*ark 13

从Spring文档的Integration Testing部分

@Autowired ApplicationContext

作为实现ApplicationContextAware接口的替代方法,您可以通过字段或setter方法上的@Autowired注释为测试类注入应用程序上下文.例如:

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

  @Autowired
  private ApplicationContext applicationContext;

  // class body...
}
Run Code Online (Sandbox Code Playgroud)