如何测试返回对象集合的DropWizard资源?

时间:2015-09-16 20:43:54

标签: java testing jersey dropwizard

我正在使用DropWizard构建服务。我有一个端点,预计会返回List<Person>

我的单元测试看起来像:

@Test
public void testGetListOfPeople() {

assertThat(
    resources.client().target("/people/?age=10").request().get(ArrayList<Person>.class))
    .containsAll(expectedList);
}

但是,request().get不允许我指定参数化集合。

我尝试直接获得回复:

r = resources.client().target("/people/?age=10").request().get()

但不清楚我如何将r转换为List<Person>

如何更新此测试?

1 个答案:

答案 0 :(得分:5)

是的,拥有收藏品的泽西岛客户可能有点令人沮丧。解决方案很简单,只需执行以下操作:

import javax.ws.rs.core.GenericType;

resources.client().target("/people/?age=10").request()
    .get(new GenericType<List<Person>>(){});