我尝试通过使用 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 方法中)是否定义了比调用更多的期望?谢谢,安迪