[java] Mockito를 사용하여 테스트 케이스 작성하기

Mockito는 자바에서 모의 객체를 만들고 테스트하는 데 사용되는 오픈 소스 테스트 프레임워크입니다. 이 프레임워크를 사용하면 실제 객체를 사용하는 것이 아니라 테스트를 위해 가짜 객체를 만들어 사용할 수 있습니다. 이를 통해 의존성을 가진 객체를 테스트할 때 발생하는 문제를 간단하게 해결할 수 있습니다.

Mockito의 기본 개념

Mockito를 사용하면 mock() 메서드를 사용하여 모의 객체를 만들고, 해당 객체의 동작을 설정할 수 있습니다. 이후 모의 객체를 사용하여 실제 객체의 메서드 호출과 상호작용을 테스트할 수 있습니다.

Mockito를 사용한 테스트 케이스 작성 예시

다음은 Mockito를 사용한 테스트 케이스 작성의 예시입니다.

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.verify;

public class CalculatorTest {
    
    @Test
    public void testAdd() {
        // 모의 객체 생성
        CalculatorService mockCalculator = mock(CalculatorService.class);
        
        // 모의 객체의 동작 설정
        when(mockCalculator.add(1, 2)).thenReturn(3);
        
        // 테스트 대상 객체에 모의 객체 주입
        Calculator calculator = new Calculator(mockCalculator);
        
        // 메서드 호출
        int result = calculator.add(1, 2);
        
        // 모의 객체의 메서드가 제대로 호출되었는지 확인
        verify(mockCalculator).add(1, 2);
        
        // 결과 확인
        assertEquals(3, result);
    }
}

위 예시에서는 Calculator 클래스를 테스트하는 과정에서 CalculatorService라는 의존성을 가진 경우를 가정하여 테스트 케이스를 작성했습니다. Mockito를 사용하여 CalculatorService의 메서드를 모의하여 실제 객체를 사용하지 않고 테스트를 수행할 수 있습니다.

마무리

Mockito를 사용하여 테스트 케이스를 작성하면 의존성을 가진 객체를 효과적으로 테스트할 수 있습니다. 이를 통해 소프트웨어의 안정성과 신뢰성을 높일 수 있습니다.

더 많은 Mockito의 기능과 사용법은 Mockito 공식 홈페이지에서 확인하실 수 있습니다.