0

jMock を使用してテストをリファクタリングすることにより、EasyMock 3.2 を学習しようとしています。答えが明らかな場合は申し訳ありませんが、現在のところ見つかりません。予想される呼び出しの順序が間違っているかどうかを検出する「厳密な」モックがあることは知っています。でも、ある程度の期待を残せばエラーにならないのには驚きました。例:

// This test passes as expected

@Test
public void connectShouldPass() {
    expect(sessionMock.setTimeout(10000)).andReturn(true);
    replay(sessionMock);
    sessionMock.setTimeout(10000);
}

// Here I would expect an fail but it passes too

@Test
public void connectShouldPass() {
    expect(sessionMock.setTimeout(10000)).andReturn(true);
    expect(sessionMock.setTimeout(10000)).andReturn(true);
    replay(sessionMock);
    sessionMock.setTimeout(10000);
}

呼び出されたよりも多くの期待が定義されているかどうかを (おそらく @After メソッドで) チェックすることは可能ですか? ありがとう、アンディ

4

1 に答える 1

2

[OPは独自の答えを見つけました。コメントではなく、回答として回答を提供する]

EasyMock.verify(mock)仕事をします。

于 2014-06-02T10:10:24.660 に答える