목록2024/01/26 (1)
쌓고 쌓다
@BeforeAll, @AfterAll non-static 메서드로 호출하는법
테스트 코드를 작성하며 초기 데이터가 필요하여 생성하여 디비에 저장하고 테스트가 끝난후 삭제하는 과정이 필요했다. 쉽게 말해서 테스트 코드를 실행하기 전과 후에 딱 한번 실행할 함수가 필요했다. 거기에 좋은 @BeforeAll, @AfterAll 어노테이션이 있어 사용하려고 한다. 그러나 이 어노테이션들은 static 메서드에 붙이고 사용해야 했다. 왜 static 이여야할까...? JUnit5에서 테스트 클래스의 Life Cycle은 기본값이 PER_METHOD이다. 즉, 테스트 클래스는 하나의 테스트 메서드가 끝나고 다시 클래스가 생성된다. 그래서 static으로 선언해야지 클래스 내부 요소들을 유지할 수 있는 것이다. 다음과 같이 테스트 클래스의 Life Cycle을 클래스단위로 바꿔주자. 다음은 ..
프로그래밍/spring
2024. 1. 26. 17:51