请考虑以下代码段: -
Whatever mock = EasyMock.createMock( Whatever.class );
mock.doSomething();
EasyMock.expectLastCall(); // <- Does this do anything?
EasyMock.replay( whatever );
Run Code Online (Sandbox Code Playgroud)
难道expectLastCall()这里实际上做什么吗?在我的测试中添加或删除此行似乎没有任何区别.
显然,如果你在呼叫中添加.andThrow或.atLeastOnce()等等,它会很有用.这不是我要问的问题.
不,您通常只expectLastCall()在需要结果来指定行为时使用.这是它的目的.
当然,如果您发现它使您的测试更具可读性,那么调用它并没有坏处.例如,我可能会这样做是为了保持一致性 - 如果我必须调用它两次以指定更多行为,即使我不需要,我也可能第三次包含它.我可能会明确地添加默认行为,只是为了增加一致性.