无法从测试中加载Spring应用程序上下文

时间:2015-10-19 20:45:35

标签: java spring unit-testing

我有下一个项目结构:

src/
   main/
       java/
           DAO/Dao classes
           data/data classes
       resources/
           application-context.xml
    test/
        java/
            data/ Test files
        resources/
               application-context-test.xml

当我在测试之外加载上下文时,我使用:

ApplicationContext context = new ClassPathXmlApplicationContext("application-context.xml");

并且它有效。如果使用

@ContextConfiguration(locations = {"classpath:application-context.xml"}) 

内部测试 - 它有效。但如果我用于:

@ContextConfiguration(locations = {"classpath:application-context-test.xml"}) 

我有例外:

java.lang.IllegalStateException: Failed to load ApplicationContext

任何想法为什么?也许XML文件出了问题?

1 个答案:

答案 0 :(得分:0)

确保在eclipse中将main目录和测试目录都设置为源目录。您可以从ui执行此操作,但您也可以在应用程序源的根目录中打开隐藏的.classpath文件。开头应该看起来像你之前看到的路径与文件结构匹配的东西:

itération:  6
[ 1.34250751  1.22131969  0.61147827  0.72320522  1.18101783  0.2767469
  1.87170912  0.68726641  1.44933786  1.25179186]
[False False False False False False  True  True  True  True]
[3 6 7 8 9]

如果确实如此,测试应该有效。如果不是,他们就不会赢。

您可以通过右键单击src / main / resources目录并选择Build Path>>来从UI执行此操作。添加到构建路径。您的包浏览器应该与顶部的每个源目录类似。enter image description here