작성
·
507
1
public class MemberService {
private final MemberRepository memberRepository;
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
강사님 코드에서 생성자 주입방식으로 의존성 주입이 되는 것을 확인했습니다. 그 다음 테스트 코드 작성시에는 아래와 같습니다.
class MemberServiceTest {
MemberService memberService;
MemoryMemberRepository memberRepository;
@BeforeEach
public void beforeEach(){
memberRepository = new MemoryMemberRepository();
memberService = new MemberService(memberRepository);
}
@BeforeEach를 사용하면 테스트 마다 memberRepository 객체가 만들어서 서로 다른 객체로 테스트가 진행되지 않나요 ???
@BeforeEach가 아닌 @BeforeAll이 되어야 하지 않나요 ??
답변 1
3
아하 !!
저는 다음과 같이 모든 테스트 메소드(@Test)마다 같은 memberRepository객체가 사용되어야 된다고 들었던거 같았는데 다시들으니 MemberService.java와 MemberServiceTest.java 에서 같은 MemoryMemberRepository를 생성자 주입(DI)로 사용하자는 의미인거 같네요 !!
댓글로 작성하기 조금 어려운 면이 있지만 감사합니다 ~~!! 이해 되었습니다 !