Whiteship's Note

EasyMock - Specifying Return Values

모하니?/Coding : 2008. 3. 1. 12:00


테스트의 대상이 사용하는 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);

메소드가 심하게 길어지지 않는 이상 굳이 두 줄로 코드를 나눌 필요는 없겠습니다.


top

Write a comment.




: 1 : ··· : 215 : 216 : 217 : 218 : 219 : 220 : 221 : 222 : 223 : ··· : 299 :