気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Mockito 基礎文法

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))と等価