场景
在进行正式业务前,往往要编写单元测试。
实现
导包
如果你使用Maven构建项目,那么就自己搜索依赖。
这里假如你没有使用Maven,所以你需要导包,除了正常的SSM所相关的包
你还需要导入
junit的jar包、spring-test的jar包。
jar包下载
https://download.csdn.net/download/badao_liumang_qizhi/10862195
编写测试类
一般会在util包下新建测试类
这里是InsertTest.java
package com.badao.test;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import com.badao.mapper.UserMapper;
import com.badao.pojo.User;
import com.badao.util.Page;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;//使用junit4测试报错导这个包
@RunWith(SpringJUnit4ClassRunner.class)//使用junit4进行测试
@ContextConfiguration("classpath:applicationContext.xml")//加载配置文件
public class InsertTest {
@Autowired//自动注入
private UserMapper userMapper;
@Test//标明是测试方法
@Rollback(false) //标明使用完此方法后事务不回滚,true时为回滚
public void testAdd() {
for (int i = 0; i < 100; i++) {
User user = new User();
user.setName("user"+i);
userMapper.addUser(user);
}
}
@Test
public void testTotal() {
int total = userMapper.total();
System.out.println(total);
}
@Test
public void testList() {
Page p = new Page();
p.setStart(2);
p.setCount(3);
List<User> cs=userMapper.selectAllUser(p);
for (User c : cs) {
System.out.println(c.getName());
}
}
}
执行
单元测试类中有多个单元测试的方法,在Eclipse的左边项目目录中找到单元测试类,然后找到要执行单元测试的方法,右键run as -- JUnit Test 或者 debug as JUnit Test(可走断点)
结果
这里执行向数据库里添加100条数据操作
@Test//标明是测试方法
@Rollback(false) //标明使用完此方法后事务不回滚,true时为回滚
public void testAdd() {
for (int i = 0; i < 100; i++) {
User user = new User();
user.setName("user"+i);
userMapper.addUser(user);
}
}
注意
如果@RunWith(SpringJUnit4ClassRunner.class)//使用junit4进行测试
报错
参照:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85101633
@ContextConfiguration("classpath:applicationContext.xml") //加载配置文件
spring的配置文件的位置是在src下。