概要
今回は、業務にて処理内でコピーしたファイルを同じ処理内で削除する処理でIOExceptionを発生させ例外処理が行われるかをテストするユニットテストを作成した。
そこで使用したmockitoのdoAnswerを使いユニットテストを作成したため、mockitoのdoAnswerの使用方法についてサンプルと合わせて説明する。
mockitoのdoAnswerは以下のような記述で使用することができる。
XXX xxx = mock(XXX.class);
doAnswer(invocation -> { <-- 1 -->
<-- 2 -->
return "AAA"; <-- 3 -->
}).when(xxx).yyy(any(), any()); <-- 4 -->
1.doAnswerメソッドを呼び出し引数をラムダ式で記述する。(ラムダ式で記述しな方法もある)
2.XXXクラスのyyyメソッドが呼び出された際に割り込みで処理したい処理を記述する。
3.XXXクラスのyyyメソッドの戻り値を返す。
ここの戻り値はthneReturn()などで記述する際と同様にXXXクラスのyyyメソッドの返したい戻り値を記述する。
4.doAnswerメソッドの処理がどこで割り込みたいのかを記述する。
今回の場合はXXXクラスのyyyメソッドが呼ばれた際に実行される。
- 閲覧数 5613
コメントを追加