Java 测试REST资源(返回响应无效)

Java 测试REST资源(返回响应无效),java,rest,jersey,jersey-2.0,dropwizard,Java,Rest,Jersey,Jersey 2.0,Dropwizard,我试图测试一个特定的jersey资源,但是jersey客户端返回了一个响应InboundJAXRResponse,而我期望的是一个OutboundJAXRResponse。我不理解这种行为 我确实使用调试器进行了调查,资源按预期返回了一个outboundjaxrssresponse,这意味着jersey客户端正在某处进行包装/转换,但我不明白为什么 如果我做得不对,你能告诉我一个比较反应的好方法吗 我正在使用dropwizard @Test public void itShouldRetrie

我试图测试一个特定的jersey资源,但是jersey客户端返回了一个响应
InboundJAXRResponse
,而我期望的是一个
OutboundJAXRResponse
。我不理解这种行为

我确实使用调试器进行了调查,资源按预期返回了一个
outboundjaxrssresponse
,这意味着jersey客户端正在某处进行包装/转换,但我不明白为什么

如果我做得不对,你能告诉我一个比较反应的好方法吗

我正在使用dropwizard

 @Test
public void itShouldRetrieveListOfComputations() {

    List<Computation> computations = new ArrayList<Computation>();
    computations.add(new Computation("name1", "description1", "expression1"));
    computations.add(new Computation("name2", "description2", "expression2"));
    when(computationDAO.findAll()).thenReturn(computations);

    Response expected = Response.ok(computations).build();
    assertThat(resource.client().target("/computations").request().get()).isEqualTo(expected);

    verify(computationDAO).findAll();
}
Response.ok(计算).build()创建Jersey用于发送到客户端的传出响应。你不能真的用它来比较来自客户端调用的传入响应。它们是抽象类的两种不同实现

这是我通常验证响应的方式:

Response response = resource.client().target("/computations").request().get(Response.class);

assertThat( response.getStatusInfo.getFamily() ).isEqualTo( Response.Status.Family.Success );
assertThat( response.getMediaType() ).isEqualTo( MediaType.APPLICATION_JSON_TYPE );
assertThat( response.readEntity(new GenericType<List<Computation>>() {}) ).isEqualTo( computations );
Response-Response=resource.client().target(“/computations”).request().get(Response.class);
assertThat(response.getStatusInfo.getFamily()).isEqualTo(response.Status.Family.Success);
assertThat(response.getMediaType()).isEqualTo(MediaType.APPLICATION\u JSON\u TYPE);
assertThat(response.readEntity(new-GenericType(){})).isEqualTo(计算);
响应.ok(计算).build()创建Jersey用于发送到客户端的传出响应。你不能真的用它来比较来自客户端调用的传入响应。它们是抽象类的两种不同实现

这是我通常验证响应的方式:

Response response = resource.client().target("/computations").request().get(Response.class);

assertThat( response.getStatusInfo.getFamily() ).isEqualTo( Response.Status.Family.Success );
assertThat( response.getMediaType() ).isEqualTo( MediaType.APPLICATION_JSON_TYPE );
assertThat( response.readEntity(new GenericType<List<Computation>>() {}) ).isEqualTo( computations );
Response-Response=resource.client().target(“/computations”).request().get(Response.class);
assertThat(response.getStatusInfo.getFamily()).isEqualTo(response.Status.Family.Success);
assertThat(response.getMediaType()).isEqualTo(MediaType.APPLICATION\u JSON\u TYPE);
assertThat(response.readEntity(new-GenericType(){})).isEqualTo(计算);
Response response = resource.client().target("/computations").request().get(Response.class);

assertThat( response.getStatusInfo.getFamily() ).isEqualTo( Response.Status.Family.Success );
assertThat( response.getMediaType() ).isEqualTo( MediaType.APPLICATION_JSON_TYPE );
assertThat( response.readEntity(new GenericType<List<Computation>>() {}) ).isEqualTo( computations );