首页 > 编程 > Java > 正文

详解SpringBoot restful api的单元测试

2019-11-26 11:26:16
字体:
来源:转载
供稿:网友

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

1.添加Springboot测试注解

@RunWith(SpringRunner.class)@SpringBootTestpublic class UserControllerTest {}

2.伪造mvc环境

 // 注入Spring 工厂  @Autowired  private WebApplicationContext wac; //伪造mvc环境  private MockMvc mockMvc;  @Before  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语法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表