博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud Spring Boot mybatis分布式微服务云架构(六)RESTful API单元测试
阅读量:6689 次
发布时间:2019-06-25

本文共 2409 字,大约阅读时间需要 8 分钟。

hot3.png

下面针对该Controller编写测试用例验证正确性,具体如下。当然也可以通过浏览器插件等进行请求提交验证。

@RunWith(SpringJUnit4ClassRunner.class)   @SpringApplicationConfiguration(classes = MockServletContext.class)   @WebAppConfiguration   public class ApplicationTests {          private MockMvc mvc;          @Before       public void setUp() throws Exception {           mvc = MockMvcBuilders.standaloneSetup(new UserController()).build();       }          @Test       public void testUserController() throws Exception {           // 测试UserController           RequestBuilder request = null;              // 1、get查一下user列表,应该为空           request = get("/users/");           mvc.perform(request)                   .andExpect(status().isOk())                   .andExpect(content().string(equalTo("[]")));              // 2、post提交一个user           request = post("/users/")                   .param("id", "1")                   .param("name", "测试大师")                   .param("age", "20");           mvc.perform(request)                   .andExpect(content().string(equalTo("success")));              // 3、get获取user列表,应该有刚才插入的数据           request = get("/users/");           mvc.perform(request)                   .andExpect(status().isOk())                   .andExpect(content().string(equalTo("[{\"id\":1,\"name\":\"测试大师\",\"age\":20}]")));              // 4、put修改id为1的user           request = put("/users/1")                   .param("name", "测试终极大师")                   .param("age", "30");           mvc.perform(request)                   .andExpect(content().string(equalTo("success")));              // 5、get一个id为1的user           request = get("/users/1");           mvc.perform(request)                   .andExpect(content().string(equalTo("{\"id\":1,\"name\":\"测试终极大师\",\"age\":30}")));              // 6、del删除id为1的user           request = delete("/users/1");           mvc.perform(request)                   .andExpect(content().string(equalTo("success")));              // 7、get查一下user列表,应该为空           request = get("/users/");           mvc.perform(request)                   .andExpect(status().isOk())                   .andExpect(content().string(equalTo("[]")));          }      }

至此,我们通过引入web模块(没有做其他的任何配置),就可以轻松利用Spring MVC的功能,以非常简洁的代码完成了对User对象的RESTful API的创建以及单元测试的编写。其中同时介绍了Spring MVC中最为常用的几个核心注解:,@RestController,RequestMapping以及一些参数绑定的注解:@PathVariable,@ModelAttribute,@RequestParam等。

转载于:https://my.oschina.net/u/3873725/blog/1824671

你可能感兴趣的文章
企业级落地容器与DevOps,选用K8S都有哪些“姿势”
查看>>
Android平台播放语音时支持听筒、喇叭之间切换
查看>>
RPC的实现
查看>>
不一样的Office 365之 —— 使用StaffHub管理你的排班
查看>>
从Mysql EXPLAIN探寻数据库查询优化2
查看>>
让元素居中
查看>>
php memcache保存session的一个设置误区
查看>>
鱼眼镜头
查看>>
Scalatra
查看>>
CentOS 7 三者分离编译安装LAMP
查看>>
Linux内核调整,支持4000-8000并发
查看>>
jquery mobile 设置设备适配
查看>>
redis使用总结-redis命令总结
查看>>
创业浪潮:春天蓬勃而来
查看>>
阿里云Linux安装软件镜像源
查看>>
阿里云对象存储OSS支持版本管理特性
查看>>
用python 访问redis的几种常用方式
查看>>
我的友情链接
查看>>
Linux Shell 基本概念及编程(5)
查看>>
RDBMS DBMS MS DB
查看>>