Void 메서드를 테스트하라
https://www.baeldung.com/mockito-void-methods
[*](https://www.baeldung.com/mockito-void-methods) > [**Mocking Void Methods with Mockito | Baeldung**](https://www.baeldung.com/mockito-void-methods) > > See how to mock methods that return void using Mockito.
4. Answering a Call to Void*
A method may perform more complex behavior than merely adding or setting value. For these situations we can use Mockito’s Answer to add the behavior we need:
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
// import 라이브러리
@Test
public void whenAddCalledAnswered() {
MyList myList = mock(MyList.class); // 목킹 클래스
doAnswer(invocation -> { // 메서드 파라미터
Object arg0 = invocation.getArgument(0);
Object arg1 = invocation.getArgument(1);
assertEquals(3, arg0); // 검증
assertEquals("answer me", arg1);
return null;
}).when(myList).add(any(Integer.class), any(String.class)); // 메서드 호출시 타입 지정
myList.add(3, "answer me"); // 목킹 클래스 실제 호출
}
As explained in Mockito’s Java 8 Features we use a lambda with Answer to define custom behavior for add().
void 메서드 검증 방법이 계속해서 마음에 걸렸는데, 의외로 쉽게 확인이 된거 같다.
// 2022.07.24
중첩된 메서드 호출 부분은 확인이 불가능하다.
이 부분은 참고해서 작성하면 좋을 것 같다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.