- 浏览: 3365625 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
http://zhangzhaoaaa.iteye.com/blog/2200096
平时对junit测试service/DAO层已经很熟悉不过了,如果不了解,可以猛戳这里http://zhangzhaoaaa.iteye.com/blog/2033355,但是我们要测试controller层,不能总重启服务器吧,(重启tomcat好慢的飘过,别。。。别走啊),那么我们就用junit4模拟请求,测试controller层的方法。
代码1:直接Controller调用方法
代码2:调用请求路径
注意:import static 的spring类
代码3: LoginController代码片段
参考:http://blog.csdn.net/a95473004/article/details/8926929
http://ysj5125094.iteye.com/blog/2082110
平时对junit测试service/DAO层已经很熟悉不过了,如果不了解,可以猛戳这里http://zhangzhaoaaa.iteye.com/blog/2033355,但是我们要测试controller层,不能总重启服务器吧,(重启tomcat好慢的飘过,别。。。别走啊),那么我们就用junit4模拟请求,测试controller层的方法。
代码1:直接Controller调用方法
import static org.junit.Assert.*; import java.sql.SQLException; import org.junit.Before; 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.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.zz.login.web.LoginController; /** * @author zhzh * 2015-4-7 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"classpath*:/beans.xml","classpath*:/spring-mvc.xml"}) public class TestController { // 模拟request,response private MockHttpServletRequest request; private MockHttpServletResponse response; // 注入loginController @Autowired private LoginController loginController ; // 执行测试方法之前初始化模拟request,response @Before public void setUp(){ request = new MockHttpServletRequest(); request.setCharacterEncoding("UTF-8"); response = new MockHttpServletResponse(); } /** * * @Title:testLogin * @Description: 测试用户登录 */ @Test public void testLogin() { try { request.setParameter("userName", "admin"); request.setParameter("password", "2"); assertEquals("login",loginController.loginIn(request,response)) ; } catch (Exception e) { e.printStackTrace(); } } }
代码2:调用请求路径
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup; import org.junit.Before; 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 org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.WebApplicationContext; /** * @author zhzh * 2015-4-7 */ @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration({"classpath*:/beans.xml","classpath*:/spring-mvc.xml"}) //当然 你可以声明一个事务管理 每个单元测试都进行事务回滚 无论成功与否 @TransactionConfiguration(defaultRollback = true) @Transactional public class TestController2 { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup() { this.mockMvc = webAppContextSetup(this.wac).build(); } @Test public void testLogin() throws Exception { mockMvc.perform((post("/loginTest").param("userName", "admin").param("password", "1"))).andExpect(status().isOk()) .andDo(print()); } /*@Test //有些单元测试你不希望回滚 @Rollback(false) public void testInsert() throws Exception { mockMvc.perform((post("/insertTest"))).andExpect(status().isOk()) .andDo(print()); } */ }
注意:import static 的spring类
代码3: LoginController代码片段
/** * 登录入口 * @param request * @param response * @return */ @RequestMapping(value = "/loginTest", method = RequestMethod.POST) public String loginTest(HttpServletRequest request,HttpServletResponse response){ String account = request.getParameter("userName"); String password = request.getParameter("password"); if (account.equals("admin")&&password.equals("1")){ return "index"; }else{ return "login"; } }
参考:http://blog.csdn.net/a95473004/article/details/8926929
http://ysj5125094.iteye.com/blog/2082110
发表评论
-
Spring Boot 属性配置
2016-06-24 11:04 1148Spring Boot 属性配置和使用 http://blog ... -
Spring Boot 集成MyBatis
2016-06-24 10:55 1989Spring Boot 集成MyBatis http://bl ... -
Spring MVC防重复提交
2016-06-17 15:47 1590http://my.oschina.net/zyqjustin ... -
Spring容器加载完之后执行特定任务
2016-06-17 15:36 2243http://my.oschina.net/simpleton ... -
使用spring-session和shiro来代理session的配置
2016-06-16 11:21 11990使用spring-session和redis来代理sessio ... -
JSTL 的 if else : 有 c:if 没有 else 的处理
2016-06-14 09:52 1293http://blog.csdn.net/xiyuan1999 ... -
spring mvc 请求转发和重定向
2016-06-14 09:48 1353http://blog.csdn.net/jackpk/art ... -
mvc:view-controller
2016-05-18 10:26 1050http://blog.csdn.net/lzwglory/a ... -
spring配置事物的方式:注解和aop配置
2016-05-14 00:26 4062参考: Spring AOP中pointcut express ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2242http://www.oschina.net/p/uncode ... -
Mybatis分库分表扩展插件
2016-05-12 15:47 1588http://fangjialong.iteye.com/bl ... -
spring+mybatis+atomikos 实现JTA事务
2016-05-11 22:00 5475sping配置多个数据源 不同用户操作不同数据库 http:/ ... -
Spring中使用注解 @Scheduled执行定时任务
2016-05-10 09:39 1534原文:http://dwf07223.blog.51cto.c ... -
Spring中配置Websocket
2016-05-05 16:55 1244spring+websocket整合(springMVC+sp ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1274集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4734使用Spring-data进行Redis操作 http://z ... -
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
2016-05-03 13:35 1031Spring4新特性——集成Bean Validation 1 ... -
SpringMVC介绍之Validation
2016-05-03 13:10 953SpringMVC介绍之Validation http://h ... -
spring 注解方式下使用commons-validator 验证表单
2016-05-03 11:08 3039原文: http://www.programgo.com/ar ... -
Spring MVC学习详解
2016-04-28 09:13 966原文 http://blog.csdn.net/alsocod ...
相关推荐
junit针对springmvc工程三层测试.rar
NULL 博文链接:https://zkf60553.iteye.com/blog/1604723
一个简洁的SrpingMvc的Demo, 包含基于Junit的单元测试。
Ant+Junit+Svn实现自动单元测试
eclipse下利用ant、junit进行自动化测试例子源码
Junit单元测试Junit单元测试Junit单元测试Junit单元测试
Hibernate4+SpringMVC+Junit4+log4j环境搭建Jar包下载
简单的ATM的代码测试技术,基于Java的代码测试,里面实现了Server类和测试类,需要添加Junit和Elcmma
Junit单元测试Junit单元测试Junit单元测试Junit单元测试
在Eclipse中使用JUnit4进行单元测试!
SpringMVC+Hibernate+Junit4+json基本框架近乎0配置
junit单元测试junit单元测试junit单元测试
springMVC,mybatis,maven,junit
springmvc+mybatis+maven+junit实现网页的增删查改,
Apache Ant 与Junit 对Java工程联合测试DEMO
junit3 junit4 api,单元测试的利器
springmvc项目搭建并实现Junit单元测试源码
通过使用Junit对四则运算进行软件测试,主要达到以下目的: 掌握软件测试的基本流程; 通过实践,基本学会使用一款主流的软件测试工具,即JUnit; 掌握基于白盒测试和黑盒测试技术设计合理、高效的测试用例;
junit测试测试junit测试测试junit测试测试junit测试测试
如何利用JUnit进行单元测试.ppt