JUnit 5에서는 public을 생략해도 된다: 간결하고 깔끔한 테스트 코드 작성법
JUnit 5의 변화: public을 생략하라
JUnit 4와는 다르게 JUnit 5에서는 테스트 클래스와 메서드에 public 접근 제어자를 명시하지 않아도 실행된다. 이는 테스트 코드를 더욱 깔끔하고 간결하게 만들기 위한 변화이다.
왜 public을 생략할 수 있을까?
JUnit 5는 "Less is More" 원칙을 따른다. 불필요한 코드를 제거하고 가독성을 높이는 데 초점을 맞추었기 때문이다.
주요 이유는 다음과 같다:
- 테스트 메서드는 JUnit 프레임워크 내부에서만 실행된다. 외부에서 직접 호출될 필요가 없다.
- Java의 **패키지 수준 접근 제어자(package-private)**로도 충분히 테스트를 실행할 수 있다.
- 접근 제어자를 생략함으로써 코드의 가독성이 개선된다.
하지만 애플리케이션 코드에서는 여전히 적절한 접근 제어자를 사용해야 한다. 이 권장사항은 테스트 코드에만 적용된다.
JUnit 5 예제 코드
JUnit 4 예제 (기존 방식):
JUnit 4에서는 public 접근 제어자가 필수였다.
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class CalculatorTest {
@Test
public void testAddition() {
int result = 2 + 3;
assertEquals(5, result);
}
}
JUnit 5 예제 (개선된 방식):
JUnit 5에서는 public 접근 제어자를 생략할 수 있다.
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class CalculatorTest { // 클래스에 public 생략
@Test
void testAddition() { // 메서드에 public 생략
int result = 2 + 3;
assertEquals(5, result);
}
}
총 정리
JUnit 5에서는 테스트 클래스와 메서드에 public 접근 제어자를 생략하는 것이 권장된다. 이를 통해 불필요한 코드를 줄이고 코드의 가독성을 높일 수 있다. 하지만 일반 애플리케이션 코드에서는 여전히 적절한 접근 제어자를 사용해야 한다.
JUnit 5를 사용한다면 테스트 코드에서 public을 과감하게 생략하는 것이 좋다.
'JAVA > Spring' 카테고리의 다른 글
스프링 BeanDefinition 완벽 정리: 빈 설정 메타정보 탐구 (0) | 2024.12.16 |
---|---|
스프링 빈 조회: 부모 타입과 Object 타입의 차이점 (0) | 2024.12.16 |
Spring 컨테이너(ApplicationContext)를 사용해야 하는 이유 (1) | 2024.12.16 |
AppConfig: 어셈블러이자 오브젝트 팩토리로 불리는 이유 (1) | 2024.12.16 |
ASSERTTHAT 메서드 사용법 (0) | 2024.12.14 |
댓글