java - Spring Maven单元测试应用程序上下文加载错误的文件

标签 java spring maven spring-mvc applicationcontext

.我有一个项目,在 src/main/webapp/WEB-INF 中有一个 spring-config.xml 文件,在 src/test/resources< 中有一个 applicationContext.xml 文件。我还有一个用于 src/test/java 中的单元测试的抽象测试基类,如下所示:

@ContextConfiguration(locations = {"classpath:/applicationContext.xml"})
public abstract class AbstractTestBase extends AbstractTransactionalJUnit4SpringContextTests {
     //Common code and fields
}

我所有的单元测试都扩展了这个AbstractTestBase,它指向src/test/resources或should中的上下文。运行我的单元测试时会出现问题,它会拉入 spring-config.xml 文件。

我的团队正在开发的其他项目具有相同的文件结构、相同的应用程序上下文设置,并按预期运行,但即使我将项目中的每个文件并排放置,我也看不到它们的文件在哪里运行,而这个不运行。

我是 Spring 新手,所以我不知道我应该寻找什么。

是否存在 Spring 或 Maven 在所有文件都存在的情况下不会获取我正在传递的应用程序上下文的情况?有什么我可能遗漏的吗?

编辑:已更正以反射(reflect)一个文件是 spring-config 文件。

最佳答案

“classpath:/applicationContext.xml” 应该在 src/test/resources 下查找。 但应该注意的是,使用该语法将加载它找到的第一个语法,然后如“@chrylis”所述停止。

我曾经遇到过类似的问题。

您一定一直在使用 IDE。项目目录中的 target/test-classes/(在 Eclipse IDE 中) 中必须存在 applicationContext.xml 文件,该文件是 下 xml 文件的副本>src/main/webapp/WEB-INF 或类似的 xml 文件。

关于java - Spring Maven单元测试应用程序上下文加载错误的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18639379/

相关文章:

java - 自定义 Spinner Android?

java - 将重命名的文件作为输入传递到出站适配器/网关

java - Maven - 在依赖项中使用版本

Maven3 - 如何找到依赖项解析? ( mvn 依赖 :tree does not work for mvn3 )

java通过受信任的服务器交换公钥

java - 关于以0开头的 "int"数字的说明

web-services - 如何测试来自 JMeter 的 @DELETE restful 服务调用

android - 私有(private) Maven 存储库中的多模块 android 项目

c# - 为什么要用容器来存放观察者?

java - 意外的AOP异常;嵌套异常是 java.lang.IllegalStateException : Unable to load cache item