源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详解SpringBoot restful api的单元测试

  • 时间:2021-12-13 21:34 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详解SpringBoot restful api的单元测试
现在我们来利用Spring Boot来构建一个RestFul API,具体如下: [b]1.添加Springboot测试注解[/b]
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserControllerTest {
}
[b]2.伪造mvc环境[/b]
 // 注入Spring 工厂
  @Autowired
  private WebApplicationContext wac;
 //伪造mvc环境
  private MockMvc mockMvc;
  @Before
  public void setup(){
    mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
  }
[b]3.引入静态方法[/b]
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;
[b]3.编写测试方法[/b]
@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);
  }
这里是具体的[url=https://github.com/json-path/JsonPath]jsonpath语法[/url] 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部