2

私はこの問題を抱えています:

@Test
public void foo() throws Exception {
    ScheduledThreadPoolExecutor stpe = new ScheduledThreadPoolExecutor(1);
    stpe.submit(new Runnable() {
        @Override
        public void run() {
             // does not make this unit test fail :(
             Assert.AssertEquals(1, 2);
       }
    });
}

これらの例外を取得してテストを失敗させるにはどうすればよいですか?

4

1 に答える 1

4

submit()メソッドは を返しますFuture<?>。Future の結果を取得しようとすると、メソッドは 内でスローされた Throwable をスローしますRunnable

Future<?> future = stpe.submit( .... 

future.get(); // this call will throw the exception that has been thrown in the Runnable.

このように、実行メソッドの例外/エラーはテストを失敗させます。

于 2013-03-02T02:16:49.670 に答える