使用放心模拟 mvc 修补端点测试
Posted
技术标签:
【中文标题】使用放心模拟 mvc 修补端点测试【英文标题】:patch endpoint test using rest assured mock mvc 【发布时间】:2021-11-16 20:14:13 【问题描述】:我正在尝试使用放心的模拟 mvc 编写补丁端点测试。 但是我无法创建一个 jsonmerge 补丁的对象来放置在 mock 的主体中。下面是我需要编写测试的终点
@PatchMapping(path = "/orderId", consumes = "application/merge-patch+json")
public OrderDTO updateOrder(@PathVariable Long orderId, @RequestBody
JsonMergePatchImpl patchRequest)
return facade.patchOrder(orderId,patchRequest);
以下是我正在尝试但无法弄清楚的事情
Mockito.when(facade.patchOrder(any(),any())).thenReturn(orderDTO);
OrderDTO actual=given()
.contentType(MediaType.APPLICATION_JSON_VALUE)
.body()
.accept("application/merge-patch+json")
.when()
.patch(BASE_URL+"/"+1l)
.then()
.assertThat()
.statusCode(200).extract().as(OrderDTO.class);
我的问题是我无法为 jsonmerge 补丁创建对象,以及作为内容类型放入的内容
【问题讨论】:
【参考方案1】:您可以将 contentType 指定为字符串:
.contentType("application/merge-patch+json")
【讨论】:
以上是关于使用放心模拟 mvc 修补端点测试的主要内容,如果未能解决你的问题,请参考以下文章
在 Apache Camel 应用程序中,单元测试如何注入模拟端点来代替真实端点?