用MockHttpServletRequest 测试spring的Controller,如果Controller的类名和要调用的方法名上都写有@RequestMapping:
@controller:
@RequestMapping("/user") public class UserLoginMgr extends BaseController{ @RequestMapping("/login") public String login(String mailbox){ System.out.println("login"); return "login"; } }
如果在@Test里这样写:
@Test public void testRequest(){ MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.setRequestURI("/user/login"); request.setMethod("GET"); try{ final ModelAndView mav = this.excuteAction(request, response); System.out.println(mav.getViewName()); Object msg = mav.getModelMap().get("roles"); System.out.println(" = " + msg); }catch (Exception e){ e.printStackTrace(); } }
测试时会莫名其妙的报NullPointerException。
解决办法是为MockHttpServletRequest设置如下一个attribute:
request.setAttribute(HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING, true);
就没有nullpointerexception了。(原理不知)
相关推荐
NULL 博文链接:https://zkf60553.iteye.com/blog/1604723
junit针对springmvc工程三层测试.rar
junit测试 test txt file
一个简洁的SrpingMvc的Demo, 包含基于Junit的单元测试。
Hibernate4+SpringMVC+Junit4+log4j环境搭建Jar包下载
junit测试测试junit测试测试junit测试测试junit测试测试
springmvc ssh通用的junit测试样例
Myeclipse中的JUnit测试详细
Ant+Junit+Svn实现自动单元测试
Junit,测试Junit,测试案例使用
Junit测试jar包
Junit测试.mp4
软件测试JUnit测试框架的使用实验1报告
Junit 通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比 较,对于void类型的方法,我们无法从它的return语句获得具体的返回值...
Junit单元测试Junit单元测试Junit单元测试Junit单元测试
通过单元测试工具(Junit)支持,使学生对单元测试中测试用例的设计原则,设计方法进行了解和掌握。
JUnit测试代码示例,JUnit3的代码示例。
javaweb中.java文件测试需要的框架(junit测试).rar
使用Eclipse进行Junit测试,junit类的创建
Junit通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比较,对于void类型的方法,我们无法从它的return语句获得具体的返回值。...