JUnit错误:"无法加载ApplicationContext"

时间:2017-06-26 16:24:02

标签: java maven spring-mvc junit4 applicationcontext

似乎没有任何作用

我试图进行简单的测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/applicationContext.xml"})
@Transactional
public class EmailServiceTest {

我也尝试过:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"src/main/webapp/WEB-INF/applicationContext.xml"})
@Transactional
public class EmailServiceTest {

除了一些不同的东西代替"位置,"例如" classpath"和"文件。"

" ApplicationContext"位于:

src
    main
        webapp
            WEB-INF
                applicationContext.xml

但JUnit测试仍然说:无法加载ApplicationContext

4 个答案:

答案 0 :(得分:2)

在我们意识到我们的构建文件缺少与测试有关的信息后,问题就解决了。诸如" app.properties"等信息;和"的applicationContext"没有被复制到测试资源中。从技术上讲,这些都不属于类路径。

答案 1 :(得分:1)

由于其他原因,可能会发生“无法加载ApplicationContext”。遍历stacktrace并找到导致此错误的原因。 就我而言,出现此错误是因为我在应用程序上下文xml文件名中输入错误。

答案 2 :(得分:0)

您需要在@ContextConfiguration(locations = { "file:./src/main/resources/ApplicationContext.xml" })之后使用@RunWith(SpringJUnit4ClassRunner.class)。和test.java文件在/src/test/java/your-package-name创建。

答案 3 :(得分:0)

您必须在类路径上指定应用程序上下文位置。 src/main被添加到类路径中。因此,您只需指定webapp/WEB-INF/applicationContext.xml,如下所示:@ContextConfiguration(locations = {"webapp/WEB-INF/applicationContext.xml"})