我正在尝试为生成和使用application/json
内容的RESTful端点编写Citrus测试,而且我不确定如何将我的响应解组为Java POJO(使用Jackson或其他任何内容) (联合国)marshaller Citrus支持)。
E.g。在REST保证,我可以简单地写
UploadResponse response = when().post("/file").as(UploadResponse.class);
柑橘中是否有等同物?
我只能找到使用validate()
或extractFromPayload()
的示例,这些示例并不真正涵盖我的用例,因为我不想对标量成员进行操作但是嵌入整个请求对象中的响应对象,用于后续测试步骤。
答案 0 :(得分:0)
您可以这样做:
http().server(testServer)
.post("/file")
.validationCallback(new JsonMappingValidationCallback<UploadResponse>(UploadResponse.class) {
@Override
public void validate(UploadResponse payload, Map<String, Object> headers, TestContext context) {
// do something with payload object
}
});
JsonMappingValidationCallback自动在Spring bean应用程序上下文中搜索JSON ObjectMapper。您还可以将ObjectMapper实例作为构造函数arg提供给JsonMappingValidationCallback。