사전 준비 | JUnit, Mockito, Spring Boot

Faithful Dev·2025년 2월 28일

스프링 프레임워크

목록 보기
19/20

JUnit

JUnit은 Java에서 가장 널리 사용되는 단위 테스트 프레임워크이다. 이를 통해 개발자는 코드의 개별 단위를 독립적으로 테스트할 수 있으며, 자동화된 테스트를 쉽게 작성하고 실행할 수 있다.

주요 특징

  • 어노테이션 기반 테스트: @Test, @BeforeEach, @AfterEach 등을 사용하여 테스트 코드 작성
  • Assertions 제공: assertEquals(), assertTrue() 등을 통해 예상 결과와 실제 결과 비교
  • 테스트 실행 및 보고: 테스트 결과를 자동으로 확인하고 리포트 제공

예제 코드

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

class CalculatorTest {
	@Test
    void testAddition() {
    	Calculator calculator = new Calculator();
        assertEquals(5, calculator.add(2, 3));
	}
}

Mockito

Mockito는 Java에서 가장 널리 사용되는 모의 객체(Mock Object) 프레임워크로, 단위 테스트에서 의존성을 분리하는 데 유용하다.

주요 특징

  • Mock 객체 생성: @Mock 또는 Mockito.mock(Class.class) 사용
  • 행동 정의 및 검증: when().thenReturn()을 통해 원하는 동작을 모의하고, verify()로 실행 여부 확인
  • 의존성 주입 지원: @InjectMocks를 활용하여 자동으로 Mock 객체 주입

예제 코드

import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import static org.mockito.Mockito.*;
import static org.junit.jupiter.api.Assertions.*;

class ServiceTest {
	@Test
    void testService() {
    	Repository mockRepo = mock(Repository.class);
        when(mockRepo.getData()).thenReturn("Mock Data");
        
        Service service = new Service(mockRepo);
        assertEquals("Mock Data", service.fetchData());
        
        verify(mockRepo).getData();
	}
}

Spring Boot

Spring Boot는 Spring 프레임워크를 기반으로 한 애플리케이션 개발 프레임워크로, 설정을 최소화하고 빠르게 애플리케이션을 개발할 수 있도록 돕는다.

주요 특징

  • 자동 설정(Auto Configuration): 복잡한 설정 없이 애플리케이션을 실행 가능
  • 내장 서버 제공: Tomcat, Jetty 등의 웹 서버를 포함하여 실행 가능
  • 마이크로서비스 지원: REST API, 데이터베이스 연동, 보안 기능 등을 쉽게 구성 가능

예제 코드

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
public class DemoApplication {
	public static void main(String[] args) {
    	SpringApplication.run(DemoApplication.class, args);
	}
}

@RestController
@RequestMapping("/api")
class HelloController {
	@GetMapping("/hello")
    public String hello() {
    	return "Hello, Spring Boot!";
	}
}

정리

  • JUnit: 단위 테스트 프레임워크로, 개별 코드 단위를 검증
  • Mockito: Mock 객체를 활용해 의존성을 분리하고 테스트를 수행
  • Spring Boot: 설정을 최소화하여 빠르게 애플리케이션을 개발할 수 있도록 지원
profile
Turning Vision into Reality.

0개의 댓글