我有一个注释这些注释的课程:
@ContextConfiguration(locations = { "classpath:pathToXml.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
你能解释一下我在课堂上添加这些注释后的功能吗?
答案 0 :(得分:2)
您将获得@WebAppConfiguration
配置javadoc。
WebApplicationContext
主要更改资源的加载方式,即具有未指定资源前缀的资源将从src/main/webapp
或value
参数中的位置加载(它们将不会在否则是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