2010-10-12 114 views
1

这是我的JUnit类:JUnit的:在@ContextConfiguration我的XML文件的位置找不到

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

当我启动与JUnit运行(在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

所以,我该怎么做才能解决这个问题呢?

+0

你的类路径是什么? – skaffman 2010-10-12 11:30:41

+0

Skaffman,我的classpath是:/ src/main /文件夹。我的所有spring文件都是使用我的ant目标生成的(用于替换某些标记)并放入WebContent/WEB-INF / – Anthony 2010-10-12 12:22:07

回答

0

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

4

你能展示你所有的项目结构吗?你的测试课也放在哪里。

从eclipse配置类路径中的目录。

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

我希望它有帮助

0

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

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