Używam EasyMock do wykonywania niektórych testów jednostkowych i nie rozumiem użycia EasyMock.expectLastCall()
. Jak widać w poniższym kodzie, mam obiekt z metodą zwracającą void, który zostanie wywołany w innej metodzie obiektu. Myślę, że muszę sprawić, żeby EasyMock oczekiwał tego wywołania metody, ale próbowałem skomentować wywołanie expectLastCall()
i nadal działa. Czy to dlatego, że zdałem EasyMock.anyObject())
, że zarejestrował to jako oczekiwane połączenie lub czy dzieje się coś innego?Oczekiwania EasyMock metodami pustymi
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);
Doc API dla EasyMock mówi to o expectLastCall()
:
Returns the expectation setter for the last expected invocation in the current thread. This method is used for expected invocations on void methods.
To pytanie było nie to, czego szukał, ale w połączeniu z odpowiedzią i komentarze z Yogendra pomógł mi zrozumieć mój problem. Dzięki, że przyjechałeś tutaj pierwszy. – DaShaun