82

私は今ユニットテストを書いています。実装のタイムアウト処理をテストするために、Mockito を使用して長期実行メソッドをシミュレートする必要があります。Mockitoで可能ですか?

このようなもの:

when(mockedService.doSomething(a, b)).thenReturn(c).after(5000L);
4

4 に答える 4

100

必要な時間だけスレッドをスリープ状態にすることができます。注意してください - そのようなことは自動テストの実行を本当に遅くする可能性があるので、そのようなテストを別のスイートに分離したいかもしれません

これは次のようになります。

when(mock.load("a")).thenAnswer(new Answer<String>() {
   @Override
   public String answer(InvocationOnMock invocation){
     Thread.sleep(5000);
     return "ABCD1234";
   }
});
于 2012-10-10T07:14:07.440 に答える