JMockitのinvocations,minInvocations,maxInvocationsの使い方

JMockitで@Mock(invocations=2)と書くと、2回呼ばれた事の確認テストができます。

また、2回よりも多く呼ばれたり少なく呼ばれた場合はエラーとなります。

以下はlog4jのinfoメソッドを2回呼ばれることを確認する時のテストです。

new MockUp<Log4JLogger>() {
  @Mock(invocations = 2)
  public void info(Object obj) {
    // 期待値
    String expected = "終了";
    // 実行結果
    String actual = obj.toString();
    // 検証
    assertThat(actual, is(expected));
  }
}

@Mock(invocations = 0)とすると、そのメソッドが呼ばれないことを確認することができます。

@Mock(invocations = 0)
private void aaaMethod() {
}

@Mock(minInvocations = 1)と指定すると、最低1回実行されることのテストになります。

@Mock(maxInvocations = 1)と指定すると、最大1回実行されることのテストになります。なので1回も実行されてなくてもテストとしては正常となります。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA