EasyMock - Specifying Return Values
테스트의 대상이 사용하는 Mock의 메소드가 반환할 값이 필요한 경우에 다음과 같이 할 수 있습니다.
1. 예상되는 메소드 호출을 expect() 메소드로 감싸기.
2. andReturn(Object returnValue) 사용해서 예상되는 리턴값을 expect() 메소드 뒤에 .으로 이어서 호출하기
public void testVoteAgainstRemoval() {
mock.documentAdded("Document"); // expect document addition
// expect to be asked to vote for document removal, and vote against it
expect(mock.voteForRemoval("Document")).andReturn((byte) -42);
replay(mock);
classUnderTest.addDocument("Document", new byte[0]);
assertFalse(classUnderTest.removeDocument("Document"));
verify(mock);
}
저 위의 빨간 줄 한 줄을 expectLastCall()을 사용해서 두 줄로 나눌 수도 있습니다.
mock.voteForRemoval("Document");
expectLastCall().andReturn((byte) 42);
메소드가 심하게 길어지지 않는 이상 굳이 두 줄로 코드를 나눌 필요는 없겠습니다.