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 回答