詳解SpringBoot restful api的單元測(cè)試
現(xiàn)在我們來(lái)利用Spring Boot來(lái)構(gòu)建一個(gè)RestFul API,具體如下:
1.添加Springboot測(cè)試注解
@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.編寫(xiě)測(cè)試方法
@Test public void whenXXXXSuccess() throws Exception { //模擬發(fā)送請(qǐng)求 String result = mockMvc.perform(get("/user") //發(fā)往/user的get請(qǐng)求,可以換成post,put,delete方法執(zhí)行相應(yīng)請(qǐng)求 .param("username","xxx") //get請(qǐng)求時(shí)填寫(xiě)參數(shù)的位置 .contentType(MediaType.APPLICATION_JSON_UTF8) //utf編碼 .content(content)) //post和put請(qǐng)求填寫(xiě)參數(shù)的位置 .andExpect(status().isOk()) .andExpect(jsonPath("$.length()").value(3)) //期望的json返回結(jié)果 .andReturn().getResponse().getContentAsString(); //對(duì)返回字符串的json內(nèi)容進(jìn)行判斷 log.info(result); }
這里是具體的jsonpath語(yǔ)法
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot對(duì)Future模式的支持詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot對(duì)Future模式的支持的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2019-01-01java啟動(dòng)參數(shù)之謎的排查過(guò)程
在日常操作中,相信很多人對(duì)Java啟動(dòng)參數(shù)存在疑惑,下面這篇文章主要給大家介紹了關(guān)于java啟動(dòng)參數(shù)之謎的排查過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06IDEA 插件 mapper和xml互相跳轉(zhuǎn)操作
這篇文章主要介紹了IDEA 插件 mapper和xml互相跳轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02mybatis,foreach,找不到參數(shù)報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了mybatis,foreach,找不到參數(shù)報(bào)錯(cuò)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03如何解決SpringBoot啟動(dòng)時(shí)無(wú)法加載配置文件或環(huán)境變量問(wèn)題
文章主要介紹了在Spring Boot項(xiàng)目中遇到配置文件加載失敗和資源目錄圖標(biāo)異常的問(wèn)題,并提供了詳細(xì)的解決步驟,解決方法包括在pom.xml文件中添加特定配置,確保資源目錄順序正確,以及注意節(jié)點(diǎn)的正確使用,通過(guò)這些步驟,可以有效解決資源加載問(wèn)題,提高開(kāi)發(fā)效率2024-12-12使用Spring Security和JWT實(shí)現(xiàn)安全認(rèn)證機(jī)制
在現(xiàn)代 Web 應(yīng)用中,安全認(rèn)證和授權(quán)是保障數(shù)據(jù)安全和用戶(hù)隱私的核心機(jī)制,Spring Security 是 Spring 框架下專(zhuān)為安全設(shè)計(jì)的模塊,具有高度的可配置性和擴(kuò)展性,而 JWT則是當(dāng)前流行的認(rèn)證解決方案,所以本文介紹了如何使用Spring Security和JWT實(shí)現(xiàn)安全認(rèn)證機(jī)制2024-11-11Mybatis中xml的動(dòng)態(tài)sql實(shí)現(xiàn)示例
本文主要介紹了Mybatis中xml的動(dòng)態(tài)sql實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Java注解詳解及實(shí)現(xiàn)自定義注解的方法
這篇文章主要介紹了Java注解詳解及實(shí)現(xiàn)自定義注解的方法,本文給大家介紹了jdk中預(yù)定義的一些注解及自定義注解的相關(guān)知識(shí),需要的朋友可以參考下2022-06-06Java Thread之Sleep()使用方法總結(jié)
這篇文章主要介紹了Java Thread之Sleep()使用方法總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05