gpt4 book ai didi

testing - 如何将模拟 mvc GET 调用映射到 java POJO?

转载 作者:行者123 更新时间:2023-11-28 19:47:20 24 4
gpt4 key购买 nike

我有一个 rest Controller 方法,它返回一个对象 CompositeObject,其中包含几个其他对象和结构( map 和列表)。我想编写一个测试来测试其余的 get 调用是否返回该对象以及字段(即使这些字段的值为空),但我不知道如何映射下面的模拟 mvc 调用的响应:

String response = this.mockMvc.perform(get("/getclassdata?classCode=cs").accept("application/json"))
.andExpect(status().isOk())
.andReturn().getResponse().getContentAsString();

此测试工作正常,但我想检查返回的 JSON 是否是我感兴趣的对象 (CompositeObject) 并确保它包含所有必需的字段。我该如何测试?测试框架中是否有类似于instanceof的东西?

谢谢。

最佳答案

您可以使用 com.fasterxml.jackson.databind.ObjectMapper 读取对 POJO 的 Json 响应:

ObjectMapper mapper = new ObjectMapper();

MvcResult mvcResult = mockMvc.perform(get("/example-endpoint")).andReturn();

ExampleResponse parsedResponse = mapper.readValue(mvcResult.getResponse().getContentAsByteArray(), ExampleResponse.class);

关于testing - 如何将模拟 mvc GET 调用映射到 java POJO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42072681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com