2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

JUnit의 @Test 애너테이션은 무엇인가요?

_____
Q1: JUnit의 @Test 애너테이션이란 무엇인가요?
A1: @Test는 JUnit 프레임워크에서 제공하는 애너테이션으로, 해당 메서드가 테스트 메서드임을 지정합니다. 즉, 이 애너테이션이 붙은 메서드는 JUnit 테스트 러너에 의해 자동으로 실행되어 테스트 대상 코드의 동작을 검증합니다.

Q2: @Test 애너테이션은 어떤 역할을 하나요?
A2: @Test는 테스트 프레임워크에 해당 메서드를 테스트용으로 인식시키며, 테스트 메서드 실행 시점에 호출됩니다. 이를 통해 개발자는 테스트 시나리오별로 함수들을 만들어 코드가 예상대로 작동하는지 확인할 수 있습니다.

Q3: JUnit 버전별 @Test 애너테이션 차이가 있나요?
A3: JUnit 4부터 @Test 애너테이션이 도입되어 간편하게 테스트 메서드를 정의할 수 있습니다. JUnit 3은 테스트 메서드 이름을 'test'로 시작하는 규칙에 의존했으나, JUnit 4부터는 애너테이션 기반으로 변경되어 명확하고 유연해졌습니다.

Q4: @Test 애너테이션에 중요한 옵션이나 속성이 있나요?
A4: 네, 대표적으로 다음과 같은 속성이 있습니다.
- expected: 테스트 메서드 실행 중 예상되는 예외 클래스를 지정합니다. 예를 들어, `@Test(expected = NullPointerException.class)`는 NullPointerException 발생 여부를 검증합니다.
- timeout: 테스트가 지정한 밀리초 내에 완료되지 않으면 실패로 간주합니다. 예를 들어, `@Test(timeout = 1000)`는 1초 안에 테스트가 끝나야 합니다.

Q5: @Test 애너테이션이 없는 메서드는 어떻게 되나요?
A5: @Test 애너테이션이 없으면 JUnit 테스트 러너는 해당 메서드를 테스트 메서드로 인식하지 않습니다. 따라서 테스트 실행 시 호출되지 않으므로, 반드시 테스트하려는 메서드에 @Test를 붙여야 합니다.

Q6: @Test와 함께 사용하는 추천되는 기타 애너테이션은 무엇인가요?
A6: 보통 @Before, @After, @BeforeClass, @AfterClass 같은 라이프사이클 애너테이션과 함께 사용됩니다. 이들은 테스트 실행 전후에 준비 작업이나 정리 작업을 담당하며, @Test 메서드와 함께 코드의 체계적인 테스트 관리에 도움을 줍니다.

Q7: @Test 애너테이션을 사용할 때 주의할 점은 무엇인가요?
A7: 테스트 메서드는 반드시 반환 타입이 void이고, 매개변수를 받지 않아야 합니다. 또한 테스트 메서드 내부에서 예외가 발생하면 실패로 처리되기 때문에, 예외 처리를 명확히 하거나 expected 옵션을 통해 예상 예외를 정의해야 합니다.

---

요약하면, JUnit의 @Test 애너테이션은 메서드를 테스트 메서드로 표시하고 자동 실행을 가능하게 하며, 옵션을 통해 예외 발생이나 실행 시간 제한 등을 설정하는 핵심 테스트 표기법입니다.
JUnit의 @Test 애너테이션은 자바 단위 테스트 프레임워크인 JUnit에서 테스트 메서드를 나타내기 위해 사용하는 표식(어노테이션)입니다. 즉, @Test 애너테이션이 붙은 메서드는 JUnit이 실행할 테스트 메서드임을 의미합니다. 자세히 설명하면, @Test 애너테이션은 JUnit 4 버전부터 도입되어 테스트 클래스를 작성할 때 각 테스트 케이스 메서드 위에 붙입니다. 이렇게 표시된 메서드는 테스트 프레임워크가 자동으로 인식해서 테스트를 실행하고, 만약 테스트 도중 예외가 발생하지 않고 기대 결과와 실제 결과가 일치하면 테스트가 통과합니다. @가 붙은 어노테이션 형태 덕분에 개발자는 테스트 메서드 이름 규칙(과거에는 메서드 이름이 “test”로 시작해야 했음)에 의존하지 않고 자유롭게 메서드 이름을 지을 수 있습니다. 또한 @Test 애너테이션에는 테스트 실행 시 특정 예외가 발생할 것으로 기대할 때 지정하는 expected 속성, 테스트 실행 시간 제한을 지정하는 timeout 속성 등을 사용할 수 있어 세밀한 테스트 제어가 가능합니다. 요약하면, JUnit의 @Test 애너테이션은 ‘이 메서드는 단위 테스트용으로 작성된 것’이라는 의미를 가지며, JUnit 실행 시 해당 메서드를 찾아 실행하여 테스트 자동화와 일관된 검사 결과를 가능하게 하는 핵심 기능입니다.
작성자: 박도윤 [비회원] | 작성일자: 1년 전 2025-05-26 02:50:38
조회수: 138 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.