학습 목표

테스트의 기본 개념과 중요성

테스트 코드는 개발한 기능이 의도대로 작동하는지 검증하는 중요한 과정입니다. 스프링 부트에서는 다양한 테스트 방법을 지원하며, 이를 통해 애플리케이션의 안정성을 높일 수 있습니다.

테스트 계층도

JUnit을 활용한 단위 테스트

스프링 부트는 기본적으로 JUnit을 테스트 프레임워크로 사용합니다. 단위 테스트는 스프링 컨테이너 없이도 작성할 수 있습니다.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class SimpleCalculatorTest {
    
    @Test
    public void testAddition() {
        Calculator calculator = new Calculator();
        int result = calculator.add(3, 4);
        assertEquals(7, result);
    }
}

이 방식은 스프링을 전혀 실행하지 않고 순수한 자바 코드만으로 테스트합니다. 테스트 속도가 빠르고 의존성이 적어 단위 테스트에 적합합니다.

Mock 객체를 활용한 테스트