java unitils的@SpringApplicationContext的用法

雷超林 发布于 2013/10/28 22:01
阅读 2K+
收藏 1

用maven构建的一个项目,使用的是SpringMVC结构,bean类配置在项目的WEB-INF/spring-servlet.xml中。  现在需要使用unitils来做测试,按照网上的例子,写了一个Junit4的测试类。   代码如下:

import static org.junit.Assert.*;


import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.unitils.spring.annotation.SpringApplicationContext;

//这个地方试过

//@SpringApplicationContext({"e:\\jeepro\\projectName\\.....\\WEB-INF\\spring-servlet.xml"})
@SpringApplicationContext({"spring-servlet.xml"})
public class BaseServiceTest {


@SpringApplicationContext
public ApplicationContext cxt;

@Test
public void test() {
assertNotNull(cxt);
}

但是运行的时候,不成功,cxt是null值。   请问大神,这个问题应该怎么处理?  @SpringApplicationContext 注解应该怎么用.

}


加载中
0
逝水fox
逝水fox
Spring3已经有JUnit的测试支持了,可以考虑直接用那个
逝水fox
逝水fox
回复 @雷超林 : 这个我就没用过了
雷超林
雷超林
非常感谢,又多了一个思路。已经在spring的reference document里面看到了Spring TestContext Framework,明天深入研究一下。 但是那个unitils的@SpringApplicationContext注解,对于xml文件的路径应该是怎么样的配置,还是想知道一下。
0
光石头
光石头
参见 springrain的测试用例
雷超林
雷超林
看了,感觉不错。 :)
0
pantrick
pantrick
不要纠结哪个了,用spring提供的那个,很方便,注意配置文件的路径是相对于classpath的,支持xml和注解,原生自带事务!
雷超林
雷超林
嗯,已经在用Spring的测试框架了。
0
dkf_genius
dkf_genius

Make sure you have included following in your pom.xml:

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>${spring.version}</version>
</dependency>

Otherwise, try :
@SpringApplicationContext("spring-beans.xml")
public class demoTest extends UnitilsJUnit4 {

    @SpringApplicationContext
    private ApplicationContext applicationContext;  

}

or

public class demoTest extends UnitilsJUnit4 {
 
    @SpringApplicationContext({"spring-config.xml", "spring-test-config.xml"})
    private ApplicationContext applicationContext;
    
}

liuzhidan
liuzhidan
然后把src/main/resources映射在WEB-INF/classes下,就能看到加载spring的配置文件了。 这个是怎么弄的 我做测试也是applicationContext为空
雷超林
雷超林
原来@SpringApplicationContext注解,对文件的要求是先对于项目classpath的。 我把spring-servlet.xml放在src/main/resources,然后把src/main/resources映射在WEB-INF/classes下,就能看到加载spring的配置文件了。
返回顶部
顶部