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);
EasyMock の API ドキュメントには、次のように書かれていますexpectLastCall()
。
Returns the expectation setter for the last expected invocation in the current thread. This method is used for expected invocations on void methods.