嵌入式Glassfish“随机”响应重启和重新部署后的请求

时间:2013-02-21 12:24:16

标签: java junit glassfish glassfish-embedded

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

从日志中可以看出耳朵已经部署完毕。

可能出现什么问题?

编辑#1

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

0 个答案:

没有答案