- `@BeforeEach`와 `@AfterEach`는 JUnit 프레임워크의 어노테이션을 이용하여 테스트 전후에 실행되는 메서드를 정의할 때 사용됨
- 테스트 클래스 내의 각각의 테스트 메서드 실행 전후에 필요한 설정 및 정리 작업을 수행할 때 활용됨
@BeforeEach
- 각각의 테스트 메서드가 실행되기 전에 실행되는 메서드를 표시함
- 각각의 테스트 메서드 실행 전에 필요한 초기화 작업을 수행할 수 있음
- 데이터베이스 연결을 설정하거나 객체를 초기화하는 등의 작업을 할 수 있음
@BeforeEach
public void beforeEach() {
memoryMemberRepository = new MemoryMemberRepository();
memberService = new MemberService(memoryMemberRepository);
}
@AfterEach
- 각각의 테스트 메서드가 실행된 후에 실행되는 메서드를 표시함
- 각각의 테스트 메서드 실행 후에 자원을 정리하거나 후속 작업을 수행할 수 있음
- 데이터베이스 연결을 닫거나 테스트에 사용한 객체들을 해제하는 등의 작업을 할 수 있음
@AfterEach
public void afterEach() {
memoryMemberRepository.clearStore();
}
💾 MemoryMemberRepository.java
public class MemoryMemberRepository implements MemberRepository {
private static Map<Long, Member> store = new HashMap<>();
.
.
.
public void clearStore() {
store.clear();
}
}
💡 clear()
- 데이터를 초기화하거나 리소스를 정리하는 용도
- 관련된 영속성 컨텍스트나 세션의 상태가 초기화되거나 클리어되는 작업을 수행함
참고
인프런 `스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술` 강의
OpenAi. (2024) ChatGPT (version 3.5)[Large Language model]. https://chat.openai.com
300x250
'Framekwork > SPRING' 카테고리의 다른 글
[SPRING BOOT] 즐겨찾기 추가 및 해제 (삭제) method 하나로 작성 (0) | 2024.07.18 |
---|---|
[Thymeleaf] config에 설정된 url 패턴을 타임리프 src 경로로 설정 (0) | 2024.07.10 |
[Swagger] https 접속 시 해당 서버만 목록에 나오게 하기 (0) | 2024.04.02 |
[스프링부트] Querydsl 사용 테스트 02 (commnet만 list에 담기) (0) | 2024.03.09 |
[스프링부트] Querydsl 사용 테스트 01 (댓글 있는 리스트 전체 조회) (0) | 2024.03.09 |