我有一个 Spring MVC 应用程序和 JUnit 测试与文件 applicationContext.xml 结合的问题。
在我的 JUnit 测试类中,我写道:
final ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
service = (TestServiceImpl) context.getBean("testServiceImpl");
我得到的错误是找不到 aplicationContect.xml:
org.springframework.beans.factory.BeanDefinitionStoreException:从类路径资源 [applicationContext.xml] 解析 XML 文档的 IOException;嵌套异常是 java.io.FileNotFoundException: 类路径资源 [applicationContext.xml] 无法打开,因为它不存在
但它存在于 WEB-INF 文件夹中。
那么,这里出了什么问题?为什么 JUnit 测试文件不存在?
原文由 Tim 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该将 Spring 文件保存在另一个文件夹中,标记为“source”(就像“src”或“resources”一样)。
WEB-INF 不是源文件夹,因此它不会包含在类路径中(即 JUnit 不会在那里寻找任何东西)。