我正在尝试使用从JerseyTest继承的类来测试我的rest接口。虽然第一个测试方法成功没有任何问题,但以下测试失败,绑定异常地址已在使用中。我是否需要在测试之间释放某种资源才能使其运行?
class MyClass extends JerseyTest () {
@Override
protected Application configure() {
return new ResourceConfig(MyClass.class);
}
@Test
testFirstThing() {
// test some request
}
@Test
testFirstThing() {
// test another request
}
}
答案 0 :(得分:13)
今天我遇到了同样的问题,一些测试通过了,但是有些测试失败了
Jersey Test文档中有一个解决方案: https://jersey.java.net/documentation/latest/test-framework.html#parallel
为了并行运行多个测试容器,您需要 将TestProperties.CONTAINER_PORT设置为0值。这会告诉我们 泽西测试框架(和底层测试容器)使用 第一个可用的端口。
@Override
protected Application configure() {
forceSet(TestProperties.CONTAINER_PORT, "0");
return new ResourceConfig(MyClass.class);
}