maven项目中使用JUnit进行单元测试

发现通过Spring进行对象管理之后,做测试变得复杂了。因为所有的Bean都需要在 applicationContext.xml中加载好,之后再通过@Resource去取得。如果每次都要整个业务流做的差不多了再去测试,这样效率很 低,也很麻烦。
这时候就需要Spring-text框架整合JUnit进行测试.

步骤

配置pom.xml

添加spring-text jar包

1
2
3
4
5
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>

添加JUnit包

1
2
3
4
5
6
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

编写测试类

在src/test/java 中编写一个测试类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@RunWith(SpringJUnit4ClassRunner.class)  
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class EmpTest {

@Resource
private EmpService empService;

@Test
public void testFindAll(){
List<Emp> list = empService.findAll(new Emp());
for(Emp emp : list){
System.out.println(emp.getEname()+","+emp.getEtags());
}
}
}

在方法中添加 @Test 注解,在类名上添加 @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")

调用

声明业务层接口,由Spring注入

1
2
@Resource
private EmpService empService;

总结

结构

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.test;

import java.util.List;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.soft.bean.Emp;
import com.soft.service.EmpService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class EmpTest {

@Resource
private EmpService empService;

@Test
public void testFindAll(){
List<Emp> list = empService.findAll(new Emp());
for(Emp emp : list){
System.out.println(emp.getEname()+","+emp.getEtags());
}
}
}

评论