运行多种方法时,Jersey测试地址已被使用

时间:2016-04-26 13:41:06

标签: java jersey

我正在尝试使用从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  
    }
}

1 个答案:

答案 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);
}