Mockitoでパッとわからなかった書き方について書いていきます。
戻り値なしメソッド
何も返さないメソッドが指定インスタンスと引数のときにMock化されます
Mockito.doNothing().when(モックインスタンス).メソッド(任意の引数);
privateメソッド、staticメソッド
MockitoではMock化できない。実現したい場合、PowerMockを使う
モックオブジェクトの検証(verify)
- @mock @spyどちらのオブジェクトに対しても使用可能
- 呼ばれた回数の検証ができる
指定回数呼ばれているかtimes
sample1.method1(10); sample1.method1(20); sample1.method1(20); verify(sample1,times(2)).method1(20); // OK verify(sample1,times(3)).method1(20); // エラー
指定回数呼ばれているかatLeastOnce atLeast atMost never
verify(sample1,atLeastOnce()).method1(0); // 最後に呼ばれたメソッドと引数が一致で正常 verify(sample1, atLeast(2)).method1(20); // 2回以上でOK verify(sample1, atMost(2)).method1(20); // 2回以下でOK verify(sample1,never()).method1(20); // 0回で正常 (times(0))と等価