1. ホーム
  2. java

[解決済み] voidメソッドが例外を投げるかどうかをMockitoがテストする

2022-03-20 14:17:51

質問

メソッドに void を返します。また、いくつかの例外を投げることができるので、それらの例外が投げられるかどうかをテストしたいと思います。すべての試みは、同じ理由で失敗しています。

型Stubberのwhen(T)というメソッドは、引数(void)に対して適用されません。

指定された例外を投げるようにするにはどうしたらいいか、何かアイデアはありますか?

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));

解決方法は?

括弧の位置が悪い。

を使う必要があります。

doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);
                                          ^

そして NOT を使用します。

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));
                                                                   ^

で説明しています。 ドキュメント