0

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

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

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

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

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

在所有文件都存在的情况下,是否存在 Spring 或 Maven 不会采用我正在处理的应用程序上下文的情况?有什么我可能会丢失的吗?

编辑:更正以反映一个文件是 spring-config 文件。

4

1 回答 1

1

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

我曾经有过类似的问题。

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

于 2013-09-05T15:08:11.377 回答