`

junit+spring支持request,session,response等注入测试案例

 
阅读更多

此案例支持被测试的BEAN注入request response session,且可模拟测试。上代码:

package com.spl.savefe4wms.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.transaction.annotation.Transactional;

import com.spl.savefe4wms.controller.UserController;
import com.spl.savefe4wms.dao.UserMapper;
import com.spl.savefe4wms.domain.User;
import com.spl.savefe4wms.log.tif.ILogService;
import com.spl.savefe4wms.service.IUserService;

/**
 * @author jdkleo
 *
 * 2015年11月18日
 */
@RunWith(value=SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(value="classpath:beans.xml")
public class UserTest {
	@Autowired
	MockHttpServletRequest request;
	
	@Autowired 
	MockHttpSession session;
	
	@Autowired 
	MockHttpServletResponse response;
	
	//--WEB模块测试
	@Autowired
	private UserController userController;
	
	//--业务模块测试
	@Autowired
	private IUserService userService;
	
	
	//--持久层测试
	@Autowired
	private UserMapper userDao;
	
	
	//--组件测试
	@Autowired
	private ILogService logService;
	
	
	@Test
	public void userController(){
		userController.init(request);
	}
	
	@Test
	public  void findAllUser() throws Exception {
		try {
			userService.findAllUser();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	@Test
	public void find() {
		User user = userService.findById(1);
		System.out.println(user);
	}
	
	@Test
	@Transactional
	public void getUser() {
		User user = userDao.findById(1);
		System.out.println(user.getUsername());
	}
	
	@Test
	public void testLog(){
		session.setAttribute("test", "张三");
		logService.addSysLog("insert", "张三干坏事了");
	}
}

 

分享到:
评论

相关推荐

    struts2-junit-plugin-2.1.8.1.jar

    请注意,由于Struts2的生命周期和依赖注入特性,可能需要在测试中对某些对象(如Session、Request、Response)进行模拟或配置。此外,如果你的应用使用了Spring等依赖注入框架,可能还需要额外的配置来使Struts2 ...

    SpringMVC拦截器实现登录认证

    10. `spring-test.jar`:简化测试框架如JUnit的使用。 11. `spring-tx.jar`:处理事务管理。 12. `spring-expression.jar`:提供了强大的表达式语言,用于控制器中的复杂逻辑。 实现登录认证的拦截器,你需要创建一...

    基于jsp+ssh的失物招领管理系统源码数据库.zip

    8. **测试与调试**:单元测试、集成测试、性能测试等,使用JUnit、Mockito等工具进行测试,以及IDE中的调试技巧。 通过这个项目,学习者可以深入理解Java Web开发的全貌,提升自己的编程技能和项目实践经验。同时,...

    JSP基于SpringMVC在线考试系统设计源码案例设计.zip

    在本系统中,JSP主要负责生成用户界面,通过内置对象如`request`、`response`、`session`等处理用户的请求,并返回相应的页面。 2. **SpringMVC**:SpringMVC是Spring框架的一个模块,用于构建Web应用程序。它采用...

    基于ssm+jsp人事管理信息系统源码数据库.zip

    4. **JSP**:JavaServer Pages,它允许在服务器端动态生成HTML,通过内置的对象如request、response和session等与用户交互。 5. **Spring Boot**:简化了Spring应用的初始搭建和配置,提供了一种快速构建独立运行的...

    JSP+MYSQL在线考试系统

    JSP的核心概念包括页面生命周期、指令元素(如page、include和taglib)、动作元素以及内置对象(如request、response、session和application)。开发者通常利用JSP来处理HTTP请求,生成动态响应,并与后端数据存储...

    SpringBoot使用Ajax实现登录

    `spring-boot-starter-test`用于单元测试,但排除了Junit Vintage Engine,因为这里主要关注生产环境。最后,`lombok`是为了简化Java对象的创建,通过注解实现getter、setter等方法。 在`application.yml`配置文件...

    javaweb.rar

    JSP的内置对象如request、response、session、application等提供了与用户交互的能力。 3. **MVC(Model-View-Controller)设计模式**:MVC是一种常见的软件设计模式,常用于Web应用开发中。模型(Model)负责业务...

    java web开发实战宝典(项目1)

    在userManagerModule中,JSP页面可能用于展示用户界面,如登录表单、用户信息展示等,通过内置对象如request、response和session与后台Servlet交互。 3. **MVC模式**:Model-View-Controller模式是Java Web开发中...

    基于springboot在线课程管理系统源码数据库.zip

    开发者可以利用JSP内置的对象(如request、response、session等)进行交互处理。 系统的核心功能可能包括以下几个方面: 1. 用户管理:用户注册、登录、个人信息管理,以及权限控制,确保不同角色(如学生、教师、...

    方立勋 javaweb 源码

    2. **JSP语法**:包括内置对象(如request、response、session、pageContext等)、脚本元素(scriptlet、expression、declarations)以及JSTL标签库的使用。 3. **MVC模式**:Spring MVC的工作原理,Controller、...

    springboot材料提交管理系统java毕业论文.doc

    JSP通过内置的对象(如request、response、session等)提供了对HTTP协议的直接支持,便于处理用户请求和响应。 1.4 Mysql数据库 MySQL是一种广泛使用的开源关系型数据库管理系统,因其高效、稳定和易于管理的特点...

    一个适合新手学习的电商项目

    Junit(测试) ### 技术栈: spring,springmvc,mybatis(框架) solr(搜索服务),redis(缓存),easyUI(后台系统页面) ### 数据库设计 tb_user用户表(id,username,password,phone,email,created,updated) tb_...

    JSP科研处管理信息系统(源代码+lw).zip

    通过JSP的内置对象如Request、Response、Session等,系统能够接收并响应用户的操作,同时利用Servlet技术进行更复杂的业务逻辑处理。 其次,该系统的数据库设计是关键组成部分,可能采用了关系型数据库管理系统,如...

    spring-framework-reference-4.1.2

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

    一些比较经典的java面试题

    适用于探索性测试、用户体验测试等场景。 - **自动化测试**:利用测试工具自动化执行测试案例,提高测试效率和覆盖率。常用的工具有JUnit、Selenium等。 #### 6、简答对Struts的认识? **Struts**是一个基于MVC...

    ASP基于WEB的旅游网站建设(LW+源代码).zip

    2. **内置对象**:如Request、Response、Session、Application等,分别用于获取用户请求、向客户端响应、存储会话数据和应用级数据。 3. **数据库交互**:ASP可以使用ADO(ActiveX Data Objects)与数据库进行交互,...

    都市供求信息网

    开发者可能利用JSP的内置对象(如request、response、session、application等)来处理HTTP请求,获取和设置用户数据,以及进行页面跳转。此外,JSP还可以通过JSTL(JavaServer Pages Standard Tag Library)和EL...

    WebWork教程(初学者的学习)

    WebWork支持对Action进行单元测试,你可以使用JUnit或其他测试框架,配合WebWork的测试支持类,对Action的执行逻辑进行隔离测试,确保代码的正确性。 以上就是WebWork教程的初步内容,涵盖从框架介绍到基础操作,为...

    java web 在线订餐系统

    - JSP内置对象如request、response、session、application等,提供了处理HTTP请求和响应、管理会话、共享数据等功能。 - JSP EL和JSTL简化了JSP页面的编程,EL用于表达式语言,方便获取和设置JavaBean属性;JSTL...

Global site tag (gtag.js) - Google Analytics