在我的春季3.2测试中自动连接webapplicationcotnext

时间:2012-12-22 15:52:55

标签: java spring testing web-applications

按照说明here,但我收到错误无法自动装载WebApplicationContext。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("applicationContext-test.xml")
@WebAppConfiguration
public class AjaxTest {

@Autowired
private WebApplicationContext webApplicationContext; //FAILS

但这会编译:

@Autowired
ServletContext servletContext;

private WebApplicationContext webApplicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);

我不明白为什么。

修改 它使用maven运行正常,我的编辑器intellij显示了一个不正确的自动编译消息,bug in fact

1 个答案:

答案 0 :(得分:1)

您的测试类应该实现ApplicationContextAware接口:

public class ApplicationContextProvider implements ApplicationContextAware {
           private static ApplicationContext applicationContext = null;

            public static ApplicationContext getApplicationContext() {
                return applicationContext;
            }
            public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
                 this.applicationContext = applicationContext;
            }
      }

Spring会自动注入应用程序上下文。