[java] Mockito와 JUnit을 함께 사용하는 방법

Mockito와 JUnit을 함께 사용하여 Java 프로젝트에서 단위 테스트를 작성할 때 유용한 방법을 알아보겠습니다.

Mockito란?

Mockito는 Java를 사용한 테스트 더블(Mock objects)을 만들기 위한 오픈 소스 프레임워크입니다. Mockito를 사용하면 테스트 중에 외부 의존성을 가짜 객체로 대체하여 테스트의 격리성을 유지할 수 있습니다.

JUnit이란?

JUnit은 Java 언어를 위한 단위 테스트 프레임워크로, 테스트 케이스를 작성하고 실행하는 데 사용됩니다.

Mockito와 JUnit을 함께 사용하는 방법

Mockito와 JUnit을 함께 사용하여 테스트할 클래스의 인스턴스를 만들고, 해당 인스턴스의 메소드를 호출하여 테스트를 진행합니다. 이때 Mockito를 사용하여 외부 의존성을 대체하고, JUnit을 사용하여 테스트를 실행합니다.

아래는 Mockito와 JUnit을 함께 사용하는 간단한 예제 코드입니다.

import static org.mockito.Mockito.*;

import org.junit.Test;

public class MyTest {

    @Test
    public void testSomething() {
        // 가짜 객체 생성
        MyDependency mockDependency = mock(MyDependency.class);

        // 특정 메소드 호출 시 반환 값 설정
        when(mockDependency.someMethod()).thenReturn("mocked value");

        // 테스트 대상 클래스 인스턴스 생성
        MyClass myClass = new MyClass(mockDependency);

        // 테스트 대상 메소드 호출
        String result = myClass.doSomething();

        // 결과 검증
        assertEquals("expected value", result);

        // 메소드가 특정 횟수로 호출되었는지 검증
        verify(mockDependency, times(1)).someMethod();
    }
}

이 예제에서는 Mockito를 사용하여 MyDependency 클래스의 인스턴스를 만들어 대체하고, 해당 인스턴스의 메소드 호출을 가로채서 반환 값을 설정했습니다. 그리고 JUnit을 사용하여 MyClassdoSomething 메소드를 테스트하고, 예상 결과를 검증하는 방법을 보여줍니다.

이처럼 Mockito와 JUnit을 함께 사용하여 Java 프로젝트에서 단위 테스트를 작성하고 실행하는 방법에 대해 알아보았습니다.

더 많은 정보를 원하시면 Mockito 공식 문서JUnit 공식 웹사이트를 참고하세요.