JUnit:找不到@ContextConfiguration中的XML文件位置

时间:2010-10-12 08:54:28

标签: spring junit

这是我的JUnit类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "WEB-INF/spring-test-config.xml"})    
public class TestXXXX extends TestBase
{ ...

当我使用JUnit runner(来自Eclipse)启动此测试类时,它失败了,因为找不到文件spring-test-config.xml

我的项目架构是:

  • /src/main/com/xxx/:我的源代码

  • /src/main/WEB-INF/:我的配置文件;在此文件夹下有spring-test-config.xml:此文件不是最终的xml ,因为它包含一些由Ant目标替换的标记。此文件的最终结果位于WebContent(实际部署目录) - 见上文。

  • /WebContent/WEB-INF/classes/com/xxx/:我的二进制代码

  • /WebContent/WEB-INF/spring-test-config.xml

那么,我该如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

您能否展示所有项目结构,以及您的测试类也在哪里。

从eclipse配置classpath中的目录。

之后,您可以在src/resources/test目录中定义spring-context应用程序文件,并使用@ContextConfiguration(locations = { "/spring-test-config.xml"})加载它。

我希望它有所帮助

答案 1 :(得分:0)

之前我遇到过这个问题 - 您需要将WEB-INF文件夹添加到构建路径中。

答案 2 :(得分:0)

您可能想检查您的蚂蚁配置。

我遇到了同样的问题(使用Maven)并尝试了Ricardo和Katie的想法没有用,然后我将测试配置文件放入/ src / test / resources(注意细微差别)然后才做'@ContextConfiguration( locations = {“/ spring-test-config.xml”})'工作。总之,您可能想要了解里卡多的想法,然后检查您的构建过程。