国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

模擬HTTP請求調用controller

邱勇 / 3315人閱讀

摘要:可參考本人簡書模擬請求調用寫在前面實現了對請求的模擬,能夠直接使用網絡的形式,轉換到調用,這樣使得測試速度更快,不依賴網絡環境。

可參考本人簡書:模擬HTTP請求調用controller

寫在前面

MockMvc實現了對Http請求的模擬,能夠直接使用網絡的形式,轉換到Controller調用,這樣使得測試速度更快,不依賴網絡環境。而且提供了一套驗證的工具。

單測代碼如下:

@RunWith(SpringRunner.class)
@WebMvcTest(MyController.class)
public class MyControllerTest {
  @Autowired
  private MockMvc mockMvc;
  /**
   * 測試方法
   */
  private void bindAndUnbindTenantPoiTest() throws Exception {
    MvcResult mvcResult = mockMvc.perform(post(${"訪問的url"})
        .param("${key1}", "${value1}")
        .param("${key2}", "${value2}")
        .param("${key3}", "${value3}")) 
        .andDo(print()) // 定義執行行為
        .andExpect(status().isOk()) // 對請求結果進行驗證
        .andReturn(); // 返回一個MvcResult
    jsonObject = toJsonObject(mvcResult);
    assert jsonObject.getIntValue("code") == code; // 斷言返回內容是否符合預期
    assert message.equals(jsonObject.getString("message"));
  }  
}
Perform介紹

perform用來調用controller業務邏輯,有post、get等多種方法,具體可以參考利用Junit+MockMvc+Mockito對Http請求進行單元測試

參數Param介紹

通過param添加http的請求參數,格式是K-V,一個參數一個參數添加或者通過params添加MultiValueMap。parma部分源碼如下:

/**
     * Add a request parameter to the {@link MockHttpServletRequest}.
     * 

If called more than once, new values get added to existing ones. * @param name the parameter name * @param values one or more values */ public MockHttpServletRequestBuilder param(String name, String... values) { addToMultiValueMap(this.parameters, name, values); return this; } /** * Add a map of request parameters to the {@link MockHttpServletRequest}, * for example when testing a form submission. *

If called more than once, new values get added to existing ones. * @param params the parameters to add * @since 4.2.4 */ public MockHttpServletRequestBuilder params(MultiValueMap params) { for (String name : params.keySet()) { for (String value : params.get(name)) { this.parameters.add(name, value); } } return this; }

寫在后面

還有個坑就是使用注解的時候,看看注解之間是否有重疊,否則會報錯。如果同時使用@WebMvcTest @Configuration就錯了。具體可以查看注解源碼

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73695.html

相關文章

  • 其實我只想設置客戶端實現跨域請求

    摘要:本地也可以輕松模擬跨域請求,以及解決跨域請求的方式輕松實現本地服務器跨域請求請求接口,其實它們都在相同的本地服務器目錄下以訪問頁面,可是這個頁面調用的接口地址是與域名不同,也即跨域解決跨域請求服務器端設置這樣就能輕松實現跨域請求 本地也可以輕松模擬跨域請求,以及解決跨域請求的方式 1、輕松實現本地服務器跨域請求 web.html請求接口json.json,其實它們都在相同的本地服務器目...

    Lucky_Boy 評論0 收藏0
  • 設計模式學習筆記:適配器模式

    摘要:二適配器模式概念適配器模式是一種結構型模式,它的思想是將一個接口轉化為另一個接口。適配器模式包含四個角色對象定義所需要的方法請求者負責使用對象定義的方法來做具體的處理被適配者以持有方法的角色適配器使用被適配者的方法來滿足對象的需要。 一、結構型設計模式 1、概念結構型設計模式描述如何將類或者對象結合在一起形成更為復雜,功能更為強大的結構。 2、分類(1)類結構模型:這種結構模型關心類的...

    CompileYouth 評論0 收藏0
  • Angular-mock之使用$httpBackend服務測試$http

    摘要:簡介模塊為單元測試提供模塊定義加載注入等支持。為使用了的應用提供單元測試的偽后臺。根據提示進行設置即可。將該文件保存為,測試時需按順序將測試項目文件及依賴文件引入。最后在請求后執行就會立即執行完成請求。參考官方單元測試學習筆記 Angular-mock簡介 Angular-mock模塊為angular單元測試提供模塊定義、加載、注入等支持。輔助Karma、Jasmine等JS測試工具來...

    rockswang 評論0 收藏0
  • Spring實戰5-基于Spring構建Web應用

    摘要:的框架用于解決上述提到的問題,基于模型,可以幫助開發人員構建靈活易擴展的應用。在這一章中,將專注于構建該應用的層,創建控制器和顯示,以及處理用戶注冊的表單。類有兩個靜態接口,代表兩種模擬服務的方式獨立測試和集成測試。 主要內容 將web請求映射到Spring控制器 綁定form參數 驗證表單提交的參數 寫在前面:關于Java Web,首先推薦一篇文章——寫給java web一年左右...

    sourcenode 評論0 收藏0
  • axios異步請求數據的簡單使用

    摘要:使用模擬好后端數據之后模擬數據的使用參考,就需要嘗試請求加載數據了。數據請求選擇了,現在都推薦使用。規定要發送到服務器的數據。布爾值,表示請求是否異步處理。要求為類型的參數,請求成功后調用的回調函數。在一個中重寫回調函數的字符串。 使用Mock模擬好后端數據之后(Mock模擬數據的使用參考:https://segmentfault.com/a/11...),就需要嘗試請求加載數據了。數...

    forsigner 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<