是否可以使用MockMCV比较实际的响应实体和从控制器返回的响应实体?
@Test
public void testStatusGetAllCars() throws Exception {
ResponseEntity<?> expectedResponse = carController.getAllCars();
mockMVC.perform(MockMvcRequestBuilders.get("/api/cars"))
.andDo(MockMvcResultHandlers.print())
.andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.content().contentType("application/hal+json;charset=UTF-8"))
.andExpect( /// compare goes here // );
}
控制器返回json作为ResponseEntity的主体。您可以使用jackson并使用NodeObject和Objectmapper创建预期的json对象
看到https://attacomsian.com/blog/jackson-create-json-object
ObjectMapper mapper = new ObjectMapper();
NodeObject expected = mapper.createObjectNode();
//then put your fields
现在你可以使用
.andExpect(MockMvcResultMatchers.content().json(expected.toString());
这对我有用
我需要一种标准方法来比较JPA实体与其DTO并确定它们是否代表相同的业务对象。我可以想到三种方法,每个DTO上的自定义方法,带有静态方法的接口或比较器。 基于若昂·迪亚斯的回答,方法4-继承。 优点/缺点 方法1-一路坏 方法2-使用接口支持组合而不是继承,但需要使用自定义方法名称的语义学() 方法3-不需要修改源代码 方法4-简化语义学,因为它使用标准但需要“样板 这些方法的任何其他优缺点或对其
我使用的是Spring版本4(Spring data),我想将Object作为JSON返回,我想知道以下代码即使不使用xmlRootElement注释用户类也能工作: 任何机构都可以解释吗?当我需要注释要返回为JSON的对象类时,响应体/响应实体是否自己完成工作?
我正在从jsp调用一个endpoint: 它返回对象类型。 来自我想将响应保存在该对象中,以便解析查询结果。 错误: 问:这是保存ResultSet响应的正确方法吗?
Javers v5.6.3 我有一个父实体,其中包含一系列子实体。当我区分两个父母列表,发现一个孩子有变化时,我需要知道哪个父母包含变化的孩子。 我的实体: 我想要区分的是: 为了简洁起见,切换到Groovy: 我是如何区分的: 输出: 我的问题是: 如何发现哪个父级包含子级/c1? 除了我有一个老板集合之外,这类似于应该检测薪酬变化()示例。使用该示例,给定具有不同下属的老板列表,如何找出的老板
我可以使用toEntity()方法返回ResponseEntity,如下所示: 但是我想在返回之前处理响应头。上面的代码将WebClient响应转换为响应实体并立即返回,但我想将其存储在响应实体变量中,处理它,然后返回响应实体。 我提到了这个- 当我试图将其存储在varibale中时,我遇到了这个错误-
我想比较从SOAP响应和JDBC请求获取的节点下元素的值。我可以用下面的groovy代码打印这些值,但由于我不太擅长编码,所以无法进行比较。 注意:两个响应中的元素名称相同,但顺序不同。 我想根据两个响应中的元素名称比较值,而不管元素的顺序如何。注意:仅当JDBC元素值不为空时才进行比较。 def groovyUtils=新com。eviware。soapui。支持GroovyUtils(上下文)