3

統合テストには組み込みのグラスフィッシュ バージョン 3.2-b06 を使用します。

問題は、Web サービス (RESTful) を呼び出すテストが 404 応答を返し、場合によっては 200 を返すことです。

例えば:

@Test
public void test() throws Exception {
    int code = sendPOST(URL);
    Assert.assertEquals(200, code);
}

しかし、テストの最初に Thread.sleep (1000) を追加すると、常にすべて問題ありません。

@Test
public void test() throws Exception {
    Thread.sleep(1000);
    int code = sendPOST(URL);
    Assert.assertEquals(200, code);
}

次のようにアプリケーションをデプロイしています。

@BeforeClass
public void init() {    
    GlassFishProperties glassFishProperties = new GlassFishProperties();      
    glassfish = GlassFishRuntime.bootstrap().newGlassFish(glassFishProperties);
    glassfish.start();
    File ear = new File("target/ear.ear");      
    Deployer deployer = glassfish.getDeployer();
    deployer.deploy(ear);
    context = new InitialContext();
}

ログから、耳が展開されていることは明らかです。

何が間違っている可能性がありますか?

編集#1

コードを変更すると、テストがパスすることが判明しました。しかし、繰り返しテストを実行すると、失敗します。

4

0 に答える 0