考虑以下代码片段:
Whatever mock = EasyMock.createMock( Whatever.class );
mock.doSomething();
EasyMock.expectLastCall(); // <- Does this do anything?
EasyMock.replay( whatever );
此处的
expectLastCall()
实际有什么作用吗?从我的测试中添加或删除此行似乎没有什么区别。显然,如果将
.andThrow
或.atLeastOnce()
等添加到调用中,则很有用。那不是我要问的。 最佳答案
不,通常只在需要结果指定行为时才使用expectLastCall()
。这就是它的目的。
当然,如果您发现它使您的测试更具可读性,则调用它没有害处。例如,为了保持一致性,我可能会这样做-如果为了指定更多行为而不得不两次调用它,即使我不需要,也可能会第三次添加它。我可能会明确地添加默认行为,只是为了增加一致性。