【发布时间】:2016-05-18 15:29:05
【问题描述】:
我编写了一个使用 Jersey 的服务。在最后一个返回 Response 对象的类中,我有:
Stream<Revision> revisionss = dataSourceHandler.getRevisions( .... );
StreamingOutput stream = os -> objectHistoryWorker.revisionsTransfer(revisions, os);
return Response.ok(stream).build();
这会获取Revision 对象的流,将流转换为StreamingOutput,然后将其发送到Response。
我正在尝试编写一个集成测试来测试它,我想看看Response 中实际包含哪些内容。换句话说,我想知道诸如
- 存在多少
Revision对象 -
Revision对象是否包含正确的信息
我遇到的问题是它是OutboundJaxrsResponse,不支持readEntity() 方法。
它有方法会返回它是否通过(即状态码 200),但我似乎无法找到一种方法来实际读取响应的内容。
有没有办法获取这些信息?
(预期的响应内容将是 Json 格式)
【问题讨论】:
-
你看过jersey.java.net/documentation/latest/test-framework.html。你运行你的测试是一个客户端-服务器设置,它可以让你询问从你的方法返回的响应。您的 Jersey 应用程序在一个轻量级容器中运行,如果我没记错的话,您可以向它发出 http 请求
-
getEntity()然后投射它
标签: java jersey jax-rs response