我有一个将@PathParam 注入构造函数的资源端点,即每个@PathParam 值的不同实例。在 Jetty 中一切正常。但是现在我正在尝试使用 Jersey 测试框架编写单元测试,并且似乎测试框架只支持每种类型的一个注册端点。
所以如果我做这样的事情:
@Path("/users")
public class MyResource {
public MyResource(@PathParam("userId") int userId) {
}
@Path("{userId}")
public String get() {
}
}
public class MyTest extends JerseyTestNg.ContainerPerClassTest {
@Override
protected Application configure() {
return new ResourceConfig()
.register(new MyResource(1))
.register(new MyResource(2));
}
@Test
public void test2() {
target("/users/1").request().get();
}
@Test
public void test2() {
target("/users/2").request().get();
}
}
我看到 test1 和 test2 都在调用 MyResource(1) 的实例。这是预期的吗?是否有调用正确实例的解决方案?