ContextConfiguration、RunWith和WebAppConfiguration注解一起使用

7

我有一个类,其中注释了这些注解:

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

您好,我可以为您解释一下在我的类上添加这些注释后我拥有哪些功能吗?

2个回答

3
你将获得在@WebAppConfiguration配置javadoc中描述的功能。 WebApplicationContext主要改变了资源加载方式,即未指定资源前缀的资源将从src/main/webappvalue参数中的位置加载(否则这些资源将不可用于Spring上下文,因为通常webapp文件夹未包含在类路径中)而不是从classpath:中加载。
此外,您还将能够测试使用其他WebApplicationContext功能的代码- ServletContextAware bean、Session和Request bean scopes等。
这意味着您将能够使用Spring MVC Test Framework

0
在处理需要读取内存数据库的数据库创建脚本时,我遇到了一个问题。这些脚本位于src/test/resources中,并且需要在使用@WebAppConfiguration注释的测试中进行操作。我发现在创建模拟应用程序上下文时,resourceLoader字段为空。因此,我创建了一个自定义的ApplicationContextInitializer,将该字段设置为AnnotationConfigApplicationContext实例。
然后,所有需要访问常规资源的测试只需添加类似于@ContextConfiguration(initializers = { MyConfigurableContext.class })的内容即可。
看起来这样做很有效,但显然因人而异。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接