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

How to test DropWizard resource that returns a collection of objects?

我正在使用 DropWizard 构建服务。我有一个端点,预计 return a 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>

我如何更新此测试才能工作?

是的,带有集合的 Je​​rsey 客户端可能有点令人沮丧。解决方法很简单,只需执行以下操作:

import javax.ws.rs.core.GenericType;

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