在springmvc中一般的测试用例都是测试service层,今天我来演示下如何使用springmvc mock直接测试controller层代码. 1.什么是mock测试? mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法. 2.为什么要使用mock测试? 使用Mock Object进行测试,主要是用来模拟那些在应用中不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者比较复杂的对象(如JD…
Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker) 一.准备工作 1.Eclipse Java EE IDE(4.4.1) 2.JDK 3.Tomcat 4.Maven  maven安装指南 二.构建工程 1.file->new->Project 2.next 3. next 4.next 5.finish 工程目录如下 三.完善项目 首先,完善目录,增加重要的source Folder,这个不是简单的Floder,这些文件夹是会参与编译的.…
什么是mock测试? 在测试过程中,对于某些不容易构成或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,就是Mock测试. Servlet.Request.Response等Servlet API相关对象本来就是由Servlet容器(Tomcat)创建的. 这个虚拟的对象就是Mock对象. Mock对象是真实对象在调试期间的代替品. 为什么使用Mock测试? 避免开发模块之间的耦合 轻量.简单.灵活 MockMVC介绍 MockMvcBuilder 他是用来构造MockMVC的构造…
1.创建web项目 2.在springmvc的配置文件中指定注解驱动,配置扫描器 在 Spring MVC 中使用扫描机制找到应用中所有基于注解的控制器类,所以,为了让控制器类被 Spring MVC 框架扫描到,需要在配置文件中声明 spring-context,并使用 <context:component-scan/> 元素指定控制器类的基本包(请确保所有控制器类都在基本包及其子包下). <!-- 使用扫描机制扫描控制器类,控制器类都在controller包及其子包下 -->…
一:配置web.xml 1)问题:spring项目中有多个配置文件mvc.xml   dao.xml 2)解决:在web.xml中 <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/xxx/*.xml</param-value> xxx表示xml文件路径    *.xml表示后缀名为xml的任意文件 </init-param&g…
对Controller进行单元测试是Spring框架原生就支持的能力,它可以模拟HTTP客户端发起对服务地址的请求,可以不用借助于诸如Postman这样的外部工具就能完成对接口的测试. 具体来讲,是由Spring框架中的spring-test模块提供的实现,详见MockMvc. 如下将详细阐述如何使用MockMvc测试框架实现对"Spring Controller"进行单元测试,基于Spring Boot开发框架进行验证. 添加测试框架依赖: <!-- Spring框架 --&g…
第一层注解:@Controller 和 @RestController. 这两个注解的作用是:处理页面的HTTP请求,不同点 @RestController相当于@Controller +@ResponseBody.@ResponseBody的解释见下文. @Controller //@ResponseBody public class HelloController { @RequestMapping(value="/hello",method= RequestMethod.GET)…
1. Controller不是Servlet DispatcherServler是Spring MVC中的唯一Servlet,(这点可通过查看FrameworkServlet的子类确认) Servlet容器(Tomcat)把所有请求都转发到DispatcherServler, 然后通过HandlerMapping把请求路由到具体的Controller中. 因此,Controller只是一个普通的JavaBean 官网文档对@Controller注解的解释 The @Controller anno…
一般我们在Controller层,会编写类似这样的方法 @Controller @RequestMapping(value="/detail") public class GetURIDetailController { @SystemControllerLog(description = "id") @RequestMapping(value="/{id}",method={RequestMethod.GET}) public ModelAnd…
一.什么是SpringMVC SpringMVC就是类似于Struts2的mvc框架,属于SpringFrameWork的后续产品.在模型层中与视图层的交互部分. springMVC执行流程: 二.常用注解 1.RequestMapping注解类的使用方法 RequestMapping注解类的属性,分别有 value, method, consumes, produces, params, headers,这里介绍value属性: 代表具体的请求路径,比如上面的 /user, /login 都是…