我有Dropwizard应用程序,我正在为它编写单元测试。我按照Dropwizard的文档进行操作:http://dropwizard.readthedocs.org/en/latest/manual/testing.html
我缺少的是如何在调用GET方法的测试中添加参数? 在文档中:
assertThat(resources.client()。资源( “/人/等等”)。得到(Person.class)) .isEqualTo(人);
如果我的get方法有参数怎么办?
在Jersey的WebResource中有:
@Override
public <T> T get(Class<T> c) throws UniformInterfaceException, ClientHandlerException {
return handle(c, build("GET"));
}
@Override
public <T> T get(GenericType<T> gt) throws UniformInterfaceException, ClientHandlerException {
return handle(gt, build("GET"));
}
答案 0 :(得分:0)
查询参数是资源URI的一部分。您可以将它们嵌入字符串中:
assertThat(resources.client().resource("/person/blah?a=b").get(Person.class)).isEqualTo(person);
或者您可以动态构建URI:
URI resourceUri = UriBuilder.fromPath("/person/blah").queryParam("a", "b").build();
assertThat(resources.client().resource(resourceUri).get(Person.class)).isEqualTo(person);