ContextConfiguration RunWith WebAppConfiguration注释

时间:2013-10-03 08:18:31

标签: java spring testing spring-mvc

我有一个注释这些注释的课程:

    @ContextConfiguration(locations = { "classpath:pathToXml.xml" })
    @RunWith(SpringJUnit4ClassRunner.class)
    @WebAppConfiguration

你能解释一下我在课堂上添加这些注释后的功能吗?

2 个答案:

答案 0 :(得分:2)

您将获得@WebAppConfiguration配置javadoc。

中描述的功能

WebApplicationContext主要更改资源的加载方式,即具有未指定资源前缀的资源将从src/main/webappvalue参数中的位置加载(它们将不会在否则是Spring上下文,因为通常webapp文件夹不包含在classpath中而不是classpath:

此外,您还可以测试使用其他WebApplicationContext功能的代码 - ServletContextAware bean,Session和Request bean范围等。

这意味着您将能够使用Spring MVC Test Framework

答案 1 :(得分:0)

因此,在需要用src/test/resources注释的测试中,需要从@WebAppConfiguration读取内存数据库的数据库创建脚本的过程中,我注意到在创建的模拟应用程序上下文中,{{1 }}字段为空。因此,我创建了一个自定义resourceLoader,将该字段设置为ApplicationContextInitializer实例。

然后,所有需要访问常规资源的测试都只需添加类似AnnotationConfigApplicationContext

的内容

似乎可以解决问题,但显然是YMMV