3

我们使用嵌入式 glassfish 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();
}

从日志中可以清楚地看出ear 已部署。

有什么问题?

编辑#1

事实证明,当代码更改时,测试通过。但是当我重复测试时,它们失败了。

4

0 回答 0