sto usando EasyMock di fare alcuni test di unità e non capisco l'uso del EasyMock.expectLastCall()
. Come puoi vedere nel mio codice qui sotto, ho un oggetto con un metodo che restituisce void che viene chiamato nel metodo di un altro oggetto. Penso che dovrei fare in modo che EasyMock si aspetti la chiamata al metodo, ma ho provato a commentare l'invocazione expectLastCall()
e funziona ancora. È perché ho passato EasyMock.anyObject())
che lo ha registrato come una chiamata prevista o c'è qualcos'altro?aspettative EasyMock con metodi vuoti
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);
la documentazione delle API per EasyMock dice questo circa expectLastCall()
:
Returns the expectation setter for the last expected invocation in the current thread. This method is used for expected invocations on void methods.
Questa domanda non era quello che stavo cercando, ma in combinazione con la risposta e commenti da Yogendra mi ha aiutato a capire il mio problema. Grazie per essere arrivato prima. – DaShaun