Я использую EasyMock для выполнения некоторых модульных тестов, и я не понимаю использования EasyMock.expectLastCall()
. Как вы можете видеть в моем коде ниже, у меня есть объект с методом, который возвращает void, вызываемый в другом методе объекта. Я бы подумал, что мне нужно заставить EasyMock ожидать, что вызов метода, но я попытался прокомментировать вызов expectLastCall()
, и он все еще работает. Это потому, что я передал EasyMock.anyObject())
, что он зарегистрировал его как ожидаемый звонок или что-то еще происходит?
MyObject obj = EasyMock.createMock(MyObject.class);
MySomething something = EasyMock.createMock(MySomething.class);
EasyMock.expect(obj.methodThatReturnsSomething()).andReturn(something);
obj.methodThatReturnsVoid(EasyMock.<String>anyObject());
// whether I comment this out or not, it works
EasyMock.expectLastCall();
EasyMock.replay(obj);
// This method calls the obj.methodThatReturnsVoid()
someOtherObject.method(obj);
API doc для EasyMock говорит об этом expectLastCall()
:
Returns the expectation setter for the last expected invocation in the current thread. This method is used for expected invocations on void methods.