如何在测试 (JUNIT) 中为块设置超时



我想将测试中的某个块限制为 1 秒。

我试过这个:

    TimerTask timerTask = new TimerTask() {
        @Override
        public void run() {
            throw new TimeoutException("test time: expected:"+expectedTimeMilli);
        }
    } ;
    new Timer().schedule(timerTask, 1L);

但顺从者要求用 try-catch 包裹run()身体。

我想抛出这个异常来被抓到main()冰毒中(并返回结果代码 3)

我该怎么做?

与其抛出 TimeoutException,不如让它抛出你自己的 Exception 来扩展 RuntimeException。

请注意,这将杀死您的计时器线程。如果这是一个问题,请使用 ScheduledExecutorService

相关内容

  • 没有找到相关文章

最新更新