欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解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)

    Java數(shù)據(jù)結(jié)構(gòu)之快速冪的實現(xiàn)

    快速冪是用來解決求冪運算的高效方式。本文將詳細(xì)為大家介紹如何利用Java實現(xiàn)快速冪,以及利用快速冪求解冪運算問題,需要的可以參考一下
    2022-03-03
  • Java動態(tài)字節(jié)碼注入技術(shù)的實現(xiàn)

    Java動態(tài)字節(jié)碼注入技術(shù)的實現(xiàn)

    Java動態(tài)字節(jié)碼注入技術(shù)是一種在運行時修改Java字節(jié)碼的技術(shù),本文主要介紹了Java動態(tài)字節(jié)碼注入技術(shù)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • idea導(dǎo)入項目爆紅問題記錄以及解決

    idea導(dǎo)入項目爆紅問題記錄以及解決

    這篇文章主要介紹了idea導(dǎo)入項目爆紅問題記錄以及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Hadoop源碼分析五hdfs架構(gòu)原理剖析

    Hadoop源碼分析五hdfs架構(gòu)原理剖析

    本篇是Hadoop源碼分析系列文章第五篇,主要介紹Hadoop的hdfs架構(gòu)原理剖析,后續(xù)本系列文章會持續(xù)更新,有需要的朋友可以借鑒參考下
    2021-09-09
  • JavaWeb項目實戰(zhàn)之表白墻和在線相冊

    JavaWeb項目實戰(zhàn)之表白墻和在線相冊

    這篇文章主要給大家介紹了關(guān)于JavaWeb項目實戰(zhàn)之表白墻和在線相冊的相關(guān)資料,JavaWeb表白墻是一款基于JavaWeb技術(shù)開發(fā)的表白墻應(yīng)用,用戶可以在上面發(fā)布表白信息,也可以查看其他用戶的表白信息,需要的朋友可以參考下
    2023-03-03
  • 使用1招搞定maven打包空間不足的問題

    使用1招搞定maven打包空間不足的問題

    這篇文章主要介紹了使用1招搞定maven打包空間不足的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • MyBatis中關(guān)于resultType和resultMap的區(qū)別介紹

    MyBatis中關(guān)于resultType和resultMap的區(qū)別介紹

    MyBatis中在查詢進行select映射的時候,返回類型可以用resultType,也可以用resultMap,那么MyBatis中關(guān)于resultType和resultMap的區(qū)別是什么呢?下面小編通過本文給大家解答下
    2016-09-09
  • Java泛型和Class類用法示例

    Java泛型和Class類用法示例

    這篇文章主要介紹了Java泛型和Class類用法,結(jié)合實例形式分析了java使用泛型限制class類避免強制類型轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • mybatis調(diào)用mysql存儲過程并獲取返回值方式

    mybatis調(diào)用mysql存儲過程并獲取返回值方式

    這篇文章主要介紹了mybatis調(diào)用mysql存儲過程并獲取返回值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 分析ABA問題的本質(zhì)及其解決辦法

    分析ABA問題的本質(zhì)及其解決辦法

    CAS的全稱是compare and swap,它是java同步類的基礎(chǔ),java.util.concurrent中的同步類基本上都是使用CAS來實現(xiàn)其原子性的。本文將介紹ABA問題的本質(zhì)及其解決辦法。
    2021-06-06

最新評論