[java] Mockito를 사용한 유닛 테스트(Unit Test)

Mockito는 Java의 모킹(mocking) 프레임워크 중 하나로, 유닛 테스트(unit test)에서 사용됩니다. 모킹 프레임워크는 외부 의존성을 가짜(fakes)로 대체하여 테스트를 쉽게 만들어줍니다. 이번 포스트에서는 Mockito를 사용하여 유닛 테스트를 어떻게 작성하는지 살펴보겠습니다.

Mockito란

Mockito는 객체의 동작을 모방하여 가짜 객체를 만들 수 있도록 도와주는 Java 라이브러리입니다. Mockito를 사용하면 외부 의존성을 갖는 객체에 대한 유닛 테스트를 쉽게 작성할 수 있습니다.

Mockito 유닟 테스트 작성하기

Mockito를 사용한 유닛 테스트는 아래와 같은 단계로 이루어집니다.

1. Mockito 의존성 추가

먼저, 프로젝트의 의존성 관리 도구를 사용하여 Mockito를 추가해야 합니다. Maven을 사용하는 경우, 다음과 같이 의존성을 추가할 수 있습니다.

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>3.7.7</version>
    <scope>test</scope>
</dependency>

2. 테스트 대상 클래스 작성

다음으로, 유닟 테스트의 대상이 되는 클래스를 작성합니다.

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

3. Mockito를 사용한 유닛 테스트 작성

이제 Mockito를 사용하여 유닛 테스트를 작성할 차례입니다.

import static org.mockito.Mockito.*;

public class CalculatorTest {
    @Test
    public void testAdd() {
        Calculator calculator = mock(Calculator.class);
        when(calculator.add(1, 2)).thenReturn(3);

        assertEquals(3, calculator.add(1, 2));
    }
}

위 코드에서 mock(Calculator.class)는 Calculator 클래스의 가짜 객체를 생성합니다. when(calculator.add(1, 2)).thenReturn(3)add 메소드가 1과 2를 입력 받았을 때 3을 반환하도록 설정합니다.

4. 테스트 실행

마지막으로, 위의 유닟 테스트를 실행하여 Mockito가 제대로 동작하는지 확인합니다.

결론

Mockito를 사용하면 외부 의존성을 갖는 객체에 대한 테스트를 쉽게 작성할 수 있습니다. 가짜 객체를 사용하여 테스트를 더 견고하게 만들 수 있으며, 모킹을 통해 테스트 대상 코드를 분리하여 테스트 코드를 작성할 수 있습니다. Mockito를 활용하여 유닟 테스트를 작성해보세요!

참고 자료