Spring 测试配置

加入jar包

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>4.2.4.RELEASE</version>
		</dependency>
		<!-- junit -->
		<!-- https://mvnrepository.com/artifact/junit/junit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>


import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.me.bean.Department;
import com.me.bean.Employee;
import com.me.dao.DepartmentMapper;
import com.me.dao.EmployeeMapper;

/**
 * 测试dao层的工作 推荐Spring的项目就可以使用Spring单元测试,可以自动注入我们需要的组件 1.导入SpringTest模块
 * 2.ContextConfiguration指定Spring配置文件的位置 3.直接autowired要使用的组件即可
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class MapperTest {

	@Autowired
	DepartmentMapper departmentMapper;

	@Autowired
	EmployeeMapper employeeMapper;

	@Autowired
	SqlSession sqlSession;

	/**
	 * 测试Department
	 */
	@Test
	public void testCURD() {
		// //1.创建SpringIoc容器
		// ApplicationContext ioc = new
		// ClassPathXmlApplicationContext("applicationContext.xml");
		// //2.从容器得到mapper
		// DepartmentMapper bean = ioc.getBean(DepartmentMapper.class);
		System.out.println(departmentMapper);
		// 插入部门
		departmentMapper.insertSelective(new Department(null, "测试部"));
		departmentMapper.insertSelective(new Department(null, "开发部"));

		// 生成员工测试
		employeeMapper.insertSelective(new Employee(null, "jerry", "M", "jerry@qq.com", 1));

		// 批量插入员工:批量,可以执行批量操作的sqlSession
		EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
		for (int i = 0; i < 100; i++) {
			String uid = UUID.randomUUID().toString().substring(0, 8);
			mapper.insertSelective(new Employee(null, uid, "M", uid + "@qq.com", 1));
		}
	}
	@Test
	public void testSelect(){
		Employee selectByPrimaryKeyWithDept = employeeMapper.selectByPrimaryKeyWithDept(1);
		System.out.println(selectByPrimaryKeyWithDept);
	}
}
模拟http请求测试

要加入Servlet3.0

		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency


/**
 *使用Spring测试模块提供的测试请求功能,测试crud请求的正确性
 *Spring4测试的时候,需要servlet3.0支持
 */
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
//file:src/main/webapp/WEB-INF/dispatcherServlet-servlet.xml src 前不要带 “/”
@ContextConfiguration(locations = {"classpath:applicationContext.xml","file:src/main/webapp/WEB-INF/dispatcherServlet-servlet.xml"})
public class MvcTest {
	//传入Springmvc的ioc 需要注解 @WebAppConfiguration
	@Autowired
	WebApplicationContext context;
	//虚拟mvc请求,获取到处理结果
	MockMvc mockMvc;
	
	@Before
	public void initMockMvc(){
		mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
	}
	@Test
	public void testPage() throws Exception{
		//模拟请求拿到返回值
		MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/emps").param("pn", "1")).andReturn();
		
		//请求成功以后,请求域中会有pageInfo:我们可以取出来pageInfo进行验证
		MockHttpServletRequest request = result.getRequest();
		PageInfo pi =(PageInfo) request.getAttribute("pageInfo");
		System.out.println("当前页码:"+pi.getPageNum());
		System.out.println("总页数:"+pi.getPages());
		System.out.println("每页显示:"+pi.getPageSize());
		System.out.println("总记录数:"+pi.getTotal());
		System.out.println("在页面上连续显示的页码:");
		List list = pi.getList();
		int[] nums = pi.getNavigatepageNums();
		for (int num : nums) {
			System.out.print(num+ "");
		}
		
	}

}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值