Junit5에서 @BeforeAll의 정체... 왜 Static일까?


Junit5에서 @BeforeAll의 정체... 왜 Static일까?

가정 개발자 A가 있다. A는 열심히 테스트 코드를 배우며 공부를 하고 있다. 이제 데이터베이스를 테스트해보기 시작한다. 단순한 CRUD를 처리하던 도중 갑자기 의문점이 든다. "테스트가 시작하기 전 한번에 데이터를 밀어 넣는 방법은 없을까?" 테스트 전에 수행하는 동작이 있는지 열심히 검색해본다. 드디어 @BeforeAll 이라는 어노테이션을 찾을 수 있게 된다. 보아하니 테스트 코드가 시작하기 전 한 번만 수행할 수 있게 해주는 어노테이션이다. 이거라면 테스트코드가 시작하기 전에 필요한 데이터를 밀어 넣고 테스트를 해 볼 수 있을 것 같다는 생각이 든다. 문제 처음부터 문제가 생긴다. @BeforeAll 어노테이션을 선언하면 메소드가 스태틱(Static) 이어야 한다는 것이다. 데이터를 미리 밀어넣기 위해 그 안에 @Autowired 된 Repository 를 가져오려고 한다면? 붉은색으로 에러를 내뱉게 된다. 스태틱도 아닌 것들은 이 곳에 발을 들일 수 없다며.. @DataJp...


#afterall #beforeall #instance #junit5 #static #test #인스턴스 #자바 #테스트인스턴스

원문링크 : Junit5에서 @BeforeAll의 정체... 왜 Static일까?