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

유하님의 프로필 이미지
유하

작성한 질문수

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

회원 서비스 테스트

이렇게 해도 되나요?

작성

·

220

0

    MemberService memberService;
    MemoryMemberRepository repository=new MemoryMemberRepository();
    @BeforeEach
    public void beforeEach(){


        memberService = new MemberService(repository);
    }

에서 저는 강의와는 조금 다르게 

MemoryMemberRepository repository=new MemoryMemberRepository();

을 beforeEach메소드 안이 아닌 밖에로 뺏습니다.

좀더 효율적이지 않을까 생각이 들어서요

 

왜냐하면

매번 테스트 케이스가 끝날때 마다  MemoryMemberRepository 의 store는 clear();되고

 

기존의 MemoryMemberRepository을 넘겨주는게 

매번 테이스 케이스마다 생성할 필요 없다는 생각이 들어서요

 

제 생각이 맞나요??

 

 

답변 1

2

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

현재 MemoryRepository 구조상 그렇게 해도 됩니다.

다만, 강의에서 말하고자 한 것은

상태를 가지는 객체를 테스트에서 사용할 때, 테스트 간 혼용하지 않고 새롭게 생성하여 다른 테스트로부터 영향을 받지 않는게 중요하다는 것입니다.

감사합니다.

유하님의 프로필 이미지
유하

작성한 질문수

질문하기