私はvoid
戻り値型のメソッドを持っています。また、いくつかの例外がスローされる可能性もあるため、スローされている例外をテストしたいと思います。すべての試みは同じ理由で失敗しました:
型Stubberの(T)が引数に適用できない場合の方法(void)
特定の例外をスローするためのメソッドを取得する方法を教えてください。
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
かっこがひどく配置されています。あなたは使わなければなりません
doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
^
ではなく
doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
^
これは ドキュメントで説明されています
新しいBDDスタイルのMockitoを使用してそれを行う方法を疑問に思ったことがある場合は、次のようにします。
willThrow(new Exception()).given(mockedObject).methodReturningVoid(...));
そして将来の参考のために、例外をスローしてから何もしない必要があるかもしれません。
willThrow(new Exception()).willNothing().given(mockedObject).methodReturningVoid(...));