繁体   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