我尝试通过使用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方法中)是否定义了比调用更多的期望? Thanx,Andi
答案 0 :(得分:2)
[OP找到了自己的答案。提供答案作为答案,而不是评论]
EasyMock.verify(mock)
完成这项工作。