基于spring-boot的测试桩设计--几种常见的controller

Posted moonpool

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于spring-boot的测试桩设计--几种常见的controller相关的知识,希望对你有一定的参考价值。

 

 第一种:通过@RequestBody,直接将请求体映射到对象

1 //@RequestBody
2     @RequestMapping(value = "addUser", method = RequestMethod.GET, RequestMethod.POST)
3     public @ResponseBody
4     String addUser(HttpServletRequest request, @RequestBody User user) 
5         logger.debug(request.getRemoteAddr());
6         return userServices.addUser(user);
7     

 请求:

 技术图片

响应:

技术图片

 第二种:通过@RequestBody,获取请求头部字段

1 //@RequestHeader
2     @RequestMapping(value = "addUser/header", method = RequestMethod.GET, RequestMethod.POST)
3     public @ResponseBody
4     String addUser_header(HttpServletRequest request, @RequestBody User user,@RequestHeader("Accept-Encoding") String encoding,@RequestHeader("Content-Type") String type) 
5         logger.debug(request.getRemoteAddr());
6         logger.debug("Accept-Encoding:",encoding);
7         logger.debug("Content-Type:",type);
8         return userServices.addUser(user);
9     

 

 技术图片

日志:

技术图片

  第三种:通过@PathVariable,获取url template 里的参数

 1 //@PathVariable
 2     @RequestMapping(value = "addUser/name/age", method = RequestMethod.GET, RequestMethod.POST)
 3     public @ResponseBody
 4     String addUser_path(HttpServletRequest request, @PathVariable("name") String name, @PathVariable("age") String age) 
 5         logger.debug(request.getRemoteAddr());
 6         User user = new User();
 7         user.setAge(age);
 8         user.setName(name);
 9         return userServices.addUser(user);
10     

 

请求:

技术图片

响应:

技术图片

第四种:通过@RequestParam,获取请求参数


 1 //@RequestParam
 2     @RequestMapping(value = "addUser_param", method = RequestMethod.GET, RequestMethod.POST)
 3     public @ResponseBody
 4     String addUser_params(HttpServletRequest request, @RequestParam("name") String name, @RequestParam("age") String age) 
 5         logger.debug(request.getRemoteAddr());
 6         User user2 = new User();
 7         user2.setAge(age);
 8         user2.setName(name);
 9         return userServices.addUser(user2);
10     

 请求1:post请求(parameter)

技术图片

请求2:post请求(body)

技术图片

请求3:get请求

技术图片

 

 源码地址:

https://github.com/huangchunhao/mockdemo

 


 

以上是关于基于spring-boot的测试桩设计--几种常见的controller的主要内容,如果未能解决你的问题,请参考以下文章

常见软件测试笔试题

读书笔记-单元测试艺术-使用桩对象解除依赖

测试用例的几种常见设计方法

基于微信小程序的充电桩管理系统设计与实现

Docker实战系列——第四话-- 将你的spring-boot应用进行容器化的几种常见玩法

Docker实战系列——第四话-- 将你的spring-boot应用进行容器化的几种常见玩法