如何使用 Junit 和超时获得成功


@Test (expected=TimeoutException.class,timeout=1000)
public void fineForFiveSeconds() {
    foo.doforever();
    fail("This line should never reached");
}

这是我的测试代码。我想要的只是运行doforever()一段时间,然后使测试成功。

试试这个:

在线程中执行逻辑,休眠并检查线程是否仍处于活动状态。

@Test
public void fineForFiveSeconds() throws InterruptedException {
  Thread thread = new Thread() {
    @Override
    public void run() {
      foo.doforever();
    }
  };
  thread.start();
  //Let the current thread sleep (not the created thread!)
  Thread.sleep(5000);
  assertTrue(thread.isAlive());
}

相关内容

  • 没有找到相关文章

最新更新