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 애너테이션은 메서드를 테스트 메서드로 표시하고 자동 실행을 가능하게 하며, 옵션을 통해 예외 발생이나 실행 시간 제한 등을 설정하는 핵심 테스트 표기법입니다.
작성자:
박도윤 [비회원]
| 작성일자: 1년 전
2025-05-26 02:50:38
조회수: 138 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 138 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.