前言
使用注入controller的方式测试controller接口
Controller层
/**
* 组织机构管理的处理
*/
@Controller
@RequestMapping("/system/dept")
public class DeptController {
/**
* 组织机构管理服务
*/
@Autowired
private DeptService deptService;
/**
* 权限管理服务
*/
@Autowired
private AuthorService authorService;
/**
* 组织机构管理页面入口
* @return 跳转到组织机构管理页面
*/
@RequestMapping("/show")
public String show(ModelMap map, String menuId, HttpServletRequest request) {
//得到用户信息
UserInfo users = Util.getSessionUserInfo(request);
//保存当前用户的所属区域
map.put("regionCode", users.getRegionCode());
//得到操作权限
Map<String, String> operation = authorService.getOperPermission(users.getRoleIdList(), menuId);
map.put("operation", operation);
return "system/organization/organizationList";
}
}
单元测试类
package com.wx.app.ygp.action.system;
import com.wx.app.ygp.entity.system.UserInfo;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.ModelMap;
import java.util.ArrayList;
import java.util.List;
/**
* @Author huangjp
* @create in 2017-8-23 13:45
* @Description : 部门管理控制层的测试类
**/
@RunWith(SpringJUnit4ClassRunner.class) //这个必须使用junit4.9以上才有
@ContextConfiguration(locations = {
"classpath:spring-test.xml","classpath:spring-mybatis.xml"})
@TransactionConfiguration(defaultRollback=true) //配置事务的回滚,对数据库的增删改都会回滚,便于测试用例的循环利用
@Transactional //事