运行测试脚本时出现 java.util.concurrent.TimeoutException

标签 java vert.x

我在使用 vert.x Flamework(版本:“3.8.1”)时遇到一些问题。 我在运行单元测试时遇到了 java.util.concurrent.TimeoutException 。 没有什么会阻塞线程。我对此感到困惑。

TestMainVerticle.java


@ExtendWith(VertxExtension.class)
public class TestMainVerticle {

  @BeforeEach
  void deploy_verticle(Vertx vertx, VertxTestContext testContext) {
    vertx.deployVerticle(new MainVerticle(), testContext.succeeding(id -> testContext.completeNow()));
  }

  @Test
  void verticle_deployed(Vertx vertx, VertxTestContext testContext) throws Throwable {
    testContext.completeNow();
  }
}

主垂直

public class MainVerticle extends AbstractVerticle {


    @Override
    public void start(Promise<Void> startPromise) throws Exception {

    }
}

输出


The test execution timed out. Make sure your asynchronous code includes calls to either VertxTestContext#completeNow(), VertxTestContext#failNow() or Checkpoint#flag()
java.util.concurrent.TimeoutException: The test execution timed out. Make sure your asynchronous code includes calls to either VertxTestContext#completeNow(), VertxTestContext#failNow() or Checkpoint#flag()
    at io.vertx.junit5.VertxExtension.joinActiveTestContexts(VertxExtension.java:230)
    at io.vertx.junit5.VertxExtension.beforeTestExecution(VertxExtension.java:191)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeTestExecutionCallbacks$5(TestMethodTestDescriptor.java:155)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:169)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeTestExecutionCallbacks(TestMethodTestDescriptor.java:154)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:125)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
...

最佳答案

如果 promise 未完成,Verticle 部署永远不会完成:

public class MainVerticle extends AbstractVerticle {


    @Override
    public void start(Promise<Void> startPromise) throws Exception {
        // Complete the promise when the verticle is ready
        startPromise.complete();
    }
}

关于运行测试脚本时出现 java.util.concurrent.TimeoutException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57726876/

相关文章:

java - 如何从vertx中的文件中获取byte[]

vert.x - Micronaut + Vertx + 测试容器

java - 检索 ImageIcon 的路径

java - 如何在 Android Things rp3 上设置时区?

ssl - 在 Vert.x 上将 SSL 协议(protocol)限制为 TLS 1.2

javascript - 根据 URL 动态加载 HTML

java - 顶点 Rx-Java : reasons for eventBus subscriber being unsubscribed

java - 继承 junit 测试类有哪些优点和缺点?

java - Spring Integration 5.2.2.RELEASE - 使用 @IntegrationConverter 的集成流转换不适用于 jackson databind

java - 如何将此更改日志库添加到 Eclipse 中当前的 Android 项目中?