我需要在JavaEE环境中测试一些使用Microprofile项目注释的组件,即项目fault tolerance part中的@Asynchronous和@Timeout。容错的实现库是Apache safe guard。 在另一个测试我使用Arquillian与TomEE嵌入。
问题是在执行测试用例期间会忽略这些注释,但是当应用程序在普通TomEE服务器上运行时,至少@Timeout正在按预期工作。
在其他调试中,我从AsynchronousTest.java获取一个TCK测试用例,并在我的项目中导入测试:
@Test
public void testAsyncIsNotFinished() {
Future<Connection> future = null;
try {
future = client.service();
}
catch (InterruptedException e) {
throw new AssertionError("testAsync: unexpected InterruptedException calling service");
}
Assert.assertFalse(future.isDone());}
这种情况很糟糕。