인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

anyeon123님의 프로필 이미지
anyeon123

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 서비스 테스트

회원 서비스 테스트 강의 @BeforeEach

작성

·

302

0

강의의 내용을 제가 이해하기로는..

MemberService 와 MemberServiceTest 에서 같은 리포지토리 객체를 사용하기위해서

서비스 클래스에서 리포지토리를 생성자의 매개변수로 받도록 수정하였습니다.

 

그리고 테스트 클래스에서 @BeforeEach를 사용하여 그 안에서 리포지토리와 서비스 클래스를 생성하였는데,

리포지토리와 서비스 클래스를, 테스트 클래스의 변수로 선언해서 사용하지 않고  @BeforeEach를 사용하여 그안에서 생성해준 이유가 궁금합니다.

답변 1

0

안녕하세요. anyeon123님, 공식 서포터즈 OMG입니다.

@BeforeEach는 매 테스트 실행 전 호출됩니다.

호출 전 동일한 환경을 세팅하기 위해 사용되어지는데요,

@BeforeEach를 사용해서 초기화 하지 않는다면, 첫번째 실행되었던 데이터가 남아 그 다음 테스트에 영향을 줄 수 있어 테스트의 목적에 부합하지 않게 됩니다.
매번 동일한 환경을 세팅하기 위해 
@BeforeEach를 사용한다고 이해하시면 됩니다.

감사합니다.

anyeon123님의 프로필 이미지
anyeon123

작성한 질문수

질문하기