在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
答案 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>