详解SpringBoot restful api的单元测试

网友投稿 352 2023-04-06


详解SpringBoot restful api的单元测试

现在我们来利用Spring Boot来构建一个RestFul API,具体如下:

1.添加Springboot测试注解

@RunWith(SpringRunner.class)

@SpringBootTest

public class UserControllerTest {

}

2.伪造mvc环境

// 注入Spring 工厂

@Autowired

private WebApplicationContext wac;

//伪造mvc环境

private MockMvc mockMvc;

@Befohttp://re

public void setup(){

mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();

}

3.引入静态方法

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

3.编写测试方法

@Test

public void whenXXXXSuccess() throws Exception {

//模拟发送请求

String result =

mockMvc.perform(get("/user") //发往/user的get请求,可以换成post,put,delete方法执行相应请求

.param("username","xxx") //get请求时填写参数的位置

.contentType(MediaType.APPLICATION_JSON_UTF8) //utf编码

.content(content)) //post和put请求填写参数的位置

.andExpect(status().isOk())

.andExpect(jsonPath("$.length()").value(3)) //期望的json返回结果

.andReturn().getResponse().getContentAsString(); //对返回字符串的json内容进行判断

log.info(result);

}

这里是具体的jsonpath语法


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java高级面试题小结
下一篇:浅谈vue+webpack项目调试方法步骤
相关文章

 发表评论

暂时没有评论,来抢沙发吧~