Spring MVC中编写单元测试(WEB项目):
1. 首先开发一个基类,用于载入配置文件。以下所有的测试实现类都要继承这个类
package com.yusj.basecase; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Transactional; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * 配置文件载入类 * @ClassName: BaseSpringTestCase * @Description: 要想实现Spring自动注入,必须继承此类 * @author yusj * @date 2014年6月9日 下午3:16:44 * */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({ "file:src/main/webapp/WEB-INF/config/applicationContext.xml", "file:src/main/webapp/WEB-INF/config/captcha-context.xml", "file:src/main/webapp/WEB-INF/config/springmvc-servlet.xml" }) // 添加注释@Transactional 回滚对数据库操作 @Transactional public class BaseSpringTestCase { }
用户登录测试方法UserControllerTest如下:
package com.yusj.web.controller; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import java.sql.SQLException; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import com.sim.tracker.basecase.BaseSpringTestCase; /** * * @ClassName: UserControllerTest * @Description: 测试用户控制类 * @author yusj * @date 2014年5月18日 * */ public class UserControllerTest extends BaseSpringTestCase { // 模拟request,response private MockHttpServletRequest request; private MockHttpServletResponse response; // 注入userController @Autowired private UserController userController ; // 执行测试方法之前初始化模拟request,response @Before public void setUp(){ request = new MockHttpServletRequest(); request.setCharacterEncoding("UTF-8"); response = new MockHttpServletResponse(); } /** * * @Title:testLogin * @Description: 测试用户登录 * @author yusj * @date 2014年5月18日 */ @Test public void testLogin() { String username= "aaaa" ; String password = "bbbb" ; try { assertEquals("loginok",userController.login(username, password, request)) ; } catch (SQLException e) { e.printStackTrace(); } } }
注意:如果是Maven项目,当执行Maven install时,可能会报错误,造成不能正确生成war包。此时需要在pom.xml中加入如下配置:
<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </build> </project>
注意:因为模拟request,response需要javax.servlet,AsycnContext类的支持,所以还需要导入javax.servlet3.0 Jar包的支持。
maven pom.xml配置代码如下:
<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> </dependencies>
可以到http://www.mvnrepository.com/中输入关键字javax.servlet搜索下载。下载方式见我的另一篇文章:http://ysj5125094.iteye.com/blog/2082097
相关推荐
junit针对spring mvc三层测试,通过测试运行,可直接下载运行!
十一、spring mvc 如何实现全局的异常处理? 十二、spring mvc 如何把全局异常记录到日志中? 十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 ...
十一、spring mvc 如何实现全局的异常处理? 十二、spring mvc 如何把全局异常记录到日志中? 十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 ...
NULL 博文链接:https://zkf60553.iteye.com/blog/1604723
十一、spring mvc 如何实现全局的异常处理? 十二、spring mvc 如何把全局异常记录到日志中? 十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求...
单元测试案例junit +spring mvc +springboot
struts2_spring3.0_Junit4.7_Maven2.2.1_整合运行说明_培训
struts-junit spring-mock spring-test junit等的javadoc.jar格式的API文档,直接导入Eclipse/MyEclipse/Netbeans等IDE即可实现快速API查询。 包含以下文件: File name -------------------------------------- ...
spring mvc的简单单元测试:,详细请参考:http://blog.csdn.net/xiejx618/article/details/21201007
SpringMVC+Hibernate+Junit4基本框架近乎0配置所需jar包
spring mvc框架搭建demo,同时支持junit单元测试的实例demo。
spring4+junit4.8 +多线程TheadTool
免费了,spring4+JUnit简单测试,注解组件扫描和xml显示组件扫描,我自己都忘了里面有什么了。
spring AOP及JUNIT包 com.springsource.net.sf.cglib-2.2.0,aopalliance.jar junit4.4.jar aspectj.rar
Spring3+junit的单元测试的代码示例。
使用spring 和junit的一个小案例,用来了解如何使用spring和junit4。入门级
NULL 博文链接:https://zgdeng.iteye.com/blog/1776487
SingleJDBCBase 是基于Spring Framework基础上搭建的一个Java基础开发套件,以Spring MVC为模型视图控制器,JDBC为数据访问层。 * 核心框架:Spring Framework 4.2.7 * 安全框架: * 视图框架:Spring MVC 4.2.7 * ...
整合spring MVC框架的jar包/springJunit4测试jar,包括commons-logging-1.2,spring-aop,spring-beans,spring-context,spring-core,spring-test,spring-web,spring-webmvc
十一、 spring mvc 如何实现全局的异常处理 十二、 spring mvc 如何把全局异常记录到日志中 十三、 如何给spring3 MVC中的Action做JUnit单元测试 十四、 spring mvc 转发与重定向 (带参数重定向) 十五、 spring ...