JUnit의 @Before와 @After 애너테이션의 용도는?
_____A: @Before 애너테이션은 각 테스트 메서드가 실행되기 전에 반드시 실행되어야 하는 초기화 코드를 정의하기 위해 사용됩니다. 예를 들어, 테스트에 필요한 객체 생성이나 리소스 할당 같은 공통 사전 작업을 수행할 때 활용합니다. 이렇게 하면 중복 코드를 줄이고 테스트 준비 과정을 통일할 수 있습니다.
Q: JUnit에서 @After 애너테이션의 용도는 무엇인가요?
A: @After 애너테이션은 각 테스트 메서드가 실행된 후 반드시 실행되어야 하는 정리 코드를 정의하기 위해 사용됩니다. 테스트 실행 결과에 관계없이 리소스를 해제하거나 초기 상태로 되돌리는 작업(예: 파일 닫기, 데이터베이스 연결 종료 등)에 적합합니다.
Q: @Before와 @After는 각각 언제 실행되나요?
A: @Before 메서드는 각 테스트 메서드 실행 직전에 실행되고, @After 메서드는 각 테스트 메서드 실행 직후에 실행됩니다. 따라서 여러 테스트 메서드가 있을 경우 각각의 테스트마다 @Before와 @After 메서드가 반복 호출됩니다.
Q: @Before와 @BeforeClass의 차이가 무엇인가요?
A: @Before는 각 테스트 메서드 전마다 실행되지만, @BeforeClass는 테스트 클래스 내 모든 테스트 메서드 실행 전에 딱 한 번만 실행됩니다. @BeforeClass 메서드는 static이어야 하며, 주로 초기 설정처럼 한 번만 수행해도 되는 작업에 사용됩니다.
A: @After는 각 테스트 메서드 후마다 실행되지만, @AfterClass는 테스트 클래스 내 모든 테스트 메서드 실행이 끝난 후 딱 한 번 실행됩니다. @AfterClass 메서드는 static이어야 하며, 자원 해제 등 전체 테스트가 끝난 후 수행할 작업에 적합합니다.
Q: 여러 개의 @Before 메서드가 있을 때 실행 순서는 어떻게 되나요?
A: JUnit 4에서는 여러 @Before 메서드가 있으면 메서드 이름의 알파벳 순서대로 실행되지만, 테스트에 의존성을 만들지 않는 것이 좋습니다. JUnit 5에서는 @BeforeEach 애너테이션을 사용하며, 메서드 간 실행 순서 지정이 필요하면 별도의 확장 기능을 사용해야 합니다.
---
요약하자면:
- @Before: 각 테스트 실행 전에 공통 초기화 코드를 실행
- @After: 각 테스트 실행 후 공통 정리 코드를 실행
- 이 애너테이션들을 사용하면 테스트 코드가 깔끔해지고, 반복 작업을 효과적으로 관리할 수 있습니다.
작성자:
김하연 [비회원]
| 작성일자: 1년 전
2025-05-26 02:50:42
조회수: 170 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 170 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.