Spring Framework:无法加载ApplicationContext

时间:2014-04-04 06:18:49

标签: spring

在Spring框架中运行脚本时,它会抛出错误消息,因为"无法加载ApplicationContext"。我在src / test / resources下有我的ApplicationContext.xml文件 而我正在使用

@RunWith(value = Parameterized.class)
public class CustomerTest extends FunctionLibrary { ... }

在我使用论坛的一些建议之后

@RunWith(value = Parameterized.class)
@ContextConfiguration(locations = "file:src/test/resources/applicationContext.xml")
public class CustomerTest extends FunctionLibrary { ... }

我仍然收到相同的错误消息。请有人告诉我如何解决这个问题?

谢谢,

Sudhansu

1 个答案:

答案 0 :(得分:0)

有几个问题

1)使用@RunWith(SpringJUnit4ClassRunner.class)

2)你的路径听起来像是你有一个maven项目。在maven项目中,src/test/resources将在测试运行时添加到类路径中。所以使用:

@ContextConfiguration(locations = "classpath:applicationContext.xml")

如果src/main/resources中的其他文件名称相同,我建议将src/test/resources中的文件重命名为test-applicationContext.xml,然后使用@ContextConfiguration(locations = "classpath:test-applicationContext.xml") ,只是为了减少大脑中的结数

完整示例:

package com.test.service;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classpath:test-ApplicationContext.xml)
public class WhateverTest {
...
}

pom excerpt:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
</dependency>
<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>3.2.6.RELEASE</version>
 </dependency>