2016-04-26 2 views
4

JerseyTestを継承するクラスで、残りのインターフェイスをテストしようとしています。最初のテストメソッドは問題なく成功しますが、バインド例外Addressがすでに使用されているため、次のテストは失敗します。これを実行するには、テストの間にある種のリソースを解放する必要がありますか?複数のメソッドを実行しているときにJerseyテストアドレスが既に使用されています

class MyClass extends JerseyTest() { 
    @Override 
    protected Application configure() { 
     return new ResourceConfig(MyClass.class); 
    } 
    @Test 
    testFirstThing() { 
     // test some request 
    } 
    @Test 
    testFirstThing() { 
     // test another request 
    } 
} 

答えて

4

私は、今日渡されたテストの一部を同じ問題を持っていましたが、一部ははBindException

で失敗しましたジャージーテストドキュメントのソリューションがあります:の目的のために https://jersey.java.net/documentation/latest/test-framework.html#parallel

は、並列に複数のテストコンテナを実行する場合は、 にTestProperties.CONTAINER_PORTを0の値に設定する必要があります。これにより、 Jersey Test Framework(および基礎となるテストコンテナ)に、最初に使用可能なポート を使用するよう指示されます。

@Override 
protected Application configure() { 
    forceSet(TestProperties.CONTAINER_PORT, "0"); 
    return new ResourceConfig(MyClass.class); 
} 
+0

優秀に機能します。どうもありがとうございました ;) – user3774109

関連する問題