【发布时间】:2016-04-25 14:52:32
【问题描述】:
我有一个使用服务的 rest API 资源。 该服务有一个带参数的构造函数。 我想测试这个资源并模拟这个服务。 这个Question: How to pass parameters to REST resource using Jersey 2.5
没有帮助,因为他们使用了@Inject 而我无法使用它。 有什么建议吗?
第二个问题是如何传递参数来测试这个资源: 我的代码是:
@Path("/2/{subversion: [0-3]}/users")
public class UserResource {
Logger log = Logger.getLogger(UserResource.class);
private MyService service;
public void setService(Service ser) {
this.service = ser;
}
@Context HttpServletRequest currentRequest;
@GET
@Produces("application/json")
public Response getUsers(@Context HttpHeaders httpHeaders, @Context UriInfo
uriInfo) {
// my function
}
}
如何传递“httpHeaders”和“UriInfo”。 我的测试如下所示:
Response response = target("/2/0/users/").request().get();
Users users = response.readEntity(Users.class);
assertNotNull(users);
【问题讨论】:
标签: java rest unit-testing jersey-2.0 jersey-test-framework