詳解SpringBoot restful api的單元測試
更新時間:2017年09月11日 09:56:19 作者:Meet相識_bfa5
本篇文章主要介紹了詳解SpringBoot restful api的單元測試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
現(xiàn)在我們來利用Spring Boot來構(gòu)建一個RestFul API,具體如下:
1.添加Springboot測試注解
@RunWith(SpringRunner.class) @SpringBootTest public class UserControllerTest { }
2.偽造mvc環(huán)境
// 注入Spring 工廠 @Autowired private WebApplicationContext wac; //偽造mvc環(huán)境 private MockMvc mockMvc; @Before public void setup(){ mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); }
3.引入靜態(tài)方法
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 { //模擬發(fā)送請求 String result = mockMvc.perform(get("/user") //發(fā)往/user的get請求,可以換成post,put,delete方法執(zhí)行相應(yīng)請求 .param("username","xxx") //get請求時填寫參數(shù)的位置 .contentType(MediaType.APPLICATION_JSON_UTF8) //utf編碼 .content(content)) //post和put請求填寫參數(shù)的位置 .andExpect(status().isOk()) .andExpect(jsonPath("$.length()").value(3)) //期望的json返回結(jié)果 .andReturn().getResponse().getContentAsString(); //對返回字符串的json內(nèi)容進行判斷 log.info(result); }
這里是具體的jsonpath語法
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之快速冪的實現(xiàn)
快速冪是用來解決求冪運算的高效方式。本文將詳細(xì)為大家介紹如何利用Java實現(xiàn)快速冪,以及利用快速冪求解冪運算問題,需要的可以參考一下2022-03-03Java動態(tài)字節(jié)碼注入技術(shù)的實現(xiàn)
Java動態(tài)字節(jié)碼注入技術(shù)是一種在運行時修改Java字節(jié)碼的技術(shù),本文主要介紹了Java動態(tài)字節(jié)碼注入技術(shù)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-08-08MyBatis中關(guān)于resultType和resultMap的區(qū)別介紹
MyBatis中在查詢進行select映射的時候,返回類型可以用resultType,也可以用resultMap,那么MyBatis中關(guān)于resultType和resultMap的區(qū)別是什么呢?下面小編通過本文給大家解答下2016-09-09mybatis調(diào)用mysql存儲過程并獲取返回值方式
這篇文章主要介紹了mybatis調(diào)用mysql存儲過程并獲取返回值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08