포스트

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 라이센스를 따릅니다.