Q&A
강의 의존성 주입 코드 질문.
9개월 지난 시점에서 작성자님이 제 글을 보실지 모르겠지만, 비슷한 상황에 있을 학습자분들을 위해 제가 이해한 방식을 남겨놓습니다. 아시겠지만, 그래도 다시 한번 정리하면 " MemberService(이하 Service)와 MemberServiceTest(이하 Test)에서 각각 new MemoryMemberRepository(이하 Repository)를 하고 있으니 서로 다른 객체가 생성되어 문제가 발생한다."(이하 전제조건) 해결하기 위해 Service의 생성자를 만들어 수정하고, @BeforeEach로 각각 할당해줬습니다.(이하 해결방법) 제가 작성자님의 질문을 이해하기로는 "전제조건에서도 new로 각각 생성했는데, 해결방법에서도 결국은 @BeforeEach로 돌면 new로 할당되는게 똑같지 않냐"는 말씀 같아요. 비슷한 결로 느껴질 수 있지만 결국은 다른 결과로 이어집니다. 전제조건에서는 Service에서 생성한 Repository와 Test에서 생성한 Repository가 같아야 하지만 다르고, Test에서 생성한 Repository는 각각의 @Test에서는 다른 객체여야 하지만 같다는 문제점이 있었던 것입니다. 그래서 해결방법에서는 Service와 Test에서 생성한 Repository가 같게 설정했고(생성자의 인자를 통해 통일), Test에서 만든 Repository가 (@BeforeEach를 통해)@Test마다 다른 객체로 활용하게 됩니다. 따라서 작성자님이 이해하셨던 "결국 서로 다른건 똑같지 않냐"라는 질문은 전제조건이 다른 부분이었다고 말씀드리고 싶습니다.
- いいね数
- 0
- コメント数
- 3
- 閲覧数
- 259

