いくつかの古い単体テストをリファクタリングするときにverify()
、メソッドが期待されている回数を確認するための呼び出しを追加しましたが、「期待される」呼び出しが を使用して設定されたものよりも多いことに驚きましたtimes()
。何らかの理由で、次の行の期待呼び出しがメソッドに追加されています。
なぜこうなった?
テストクラス
public class SandBoxTest {
@Test
public void shouldGetSand() {
Sand niceMock = EasyMock.createNiceMock(Sand.class);
EasyMock.expect(niceMock.sandMethod()).andReturn(1).times(2);
EasyMock.expect(Box.boxMethod()).andReturn(99).times(11);
EasyMock.replay(niceMock);
EasyMock.verify(niceMock);
}
}
実行時の出力
java.lang.AssertionError:
Expectation failure on verify:
Sand.sandMethod(): expected: 13, actual: 0
期待された出力
java.lang.AssertionError:
Expectation failure on verify:
Sand.sandMethod(): expected: 2, actual: 0
詳細: EasyMock v3.1
フォローアップ: EasyMock で機能リクエストをオープンしました。https://jira.codehaus.org/browse/EASYMOCK-128