簡體   English   中英

如何使用 mockmvc 測試帶有 object 參數的 reuqestmethod.get

[英]How to test reuqestmethod.get with object parameter by using mockmvc

如果我有 get 方法定義如下

@GetMapping(value = "/getfood")

public Food getFood(@valid final Order order)

我如何使用以下代碼在 mockmvc 測試中通過 Order object

this.mockMvc.perform(get("/getfood"))

謝謝

您可以使用 RequestBuilder 和 MvcResult:

RequestBuilder request = MockMvcRequestBuilders.get("/getfood").accept(MediaType.HTML);

MvcResult result = mockMvc.perform(request).andReturn();

CustomResponse customResponse = new CustomResponse("your data");

ResponseEntity response = new ResponseEntity<CustomResponse>(customResponse, HttpStatus.OK);

assertEquals(response.getBody().toString(), response.getResponse().getContentAsString());

您需要根據您的代碼修改此示例。 CustomResponse 是您需要創建的類。 其余的是從 org.springframework.test.web.servlet.* 導入的

為了使用 mockmvc 在 get 請求中發送自定義 object,我發現這段代碼很有用:

Order myOrder = new Order();
mockMvc.perform(
             MockMvcRequestBuilders.get(API_V_1).contentType(APPLICATION_FORM_URLENCODED)
                    .flashAttr("order", myOrder );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM