[java] Mockito를 사용하여 리턴 값이 null인 메소드도 모킹하는 방법은?

Mockito는 자바에서 유닛 테스트 작성을 도와주는 인기있는 도구입니다. 특히 Mockito를 사용하면 메소드의 동작을 가짜 객체로 대체하여 테스트할 수 있습니다. 하지만 가끔 가짜 메소드의 리턴 값이 null인 경우에 대한 모킹이 필요할 수 있습니다. 이 글에서는 Mockito를 사용하여 리턴 값이 null인 메소드도 모킹하는 방법에 대해 설명하겠습니다.

예시 코드

다음은 리턴 값이 null인 메소드를 가진 클래스인 MyClass의 예시입니다.

public class MyClass {
    public String myMethod() {
        return null;
    }
}

이제 Mockito를 사용하여 myMethod()를 모킹하고 리턴 값이 null이 되도록 만들어 보겠습니다.

import org.junit.Test;
import org.mockito.Mockito;

public class MyClassTest {
    @Test
    public void testMyMethod() {
        // 가짜 객체 생성
        MyClass myClassMock = Mockito.mock(MyClass.class);

        // 모킹 설정
        Mockito.when(myClassMock.myMethod()).thenReturn(null);

        // 테스트
        String result = myClassMock.myMethod();

        // 검증
        assertThat(result).isNull();
    }
}

설명

위의 예시 코드에서 MyClass를 모킹하기 위해 Mockito의 mock() 메소드를 사용하여 myClassMock 객체를 생성합니다. 그런 다음 when() 메소드를 사용하여 myMethod()를 모킹하고 리턴 값을 null로 설정합니다. 이렇게 설정된 가짜 메소드를 호출하고 결과로 null이 반환되는지 검증합니다.

결론

이렇게 Mockito를 사용하여 리턴 값이 null인 메소드를 모킹할 수 있습니다. Mockito를 사용하면 자바 유닛 테스트 작성 시 유연하고 강력한 모킹 기능을 사용할 수 있으므로, 테스트 커버리지를 높이고 안정적인 코드를 작성할 수 있습니다.

참고 문서: Mockito 공식 문서