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回も実行されてなくてもテストとしては正常となります。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント