스프링 입문

Ch03. 회원 관리 예제(백엔드 개발) - 회원 서비스 테스트

webmaster 2021. 11. 26. 13:06
728x90
  • 테스트 코드는 한글로 메서드명 작성해도 된다(Build 되서 올라가지 않기 때문)
  • given(무엇이), when(언제) , then(검증) 이러한 순서로 테스트 작성을 권장

회원가입

  • 회원가입 로직에서 데이터가 잘 저장되는것도 중요하지만 에러 처리도 잘되었는지 확인하는 것도 중요
  • 중복 회원이 예외처리가 잘 되었는지 확인 
    • 방법 1: try-catch 를 통해 에러가 발생했는지 확인 가능
    • 방법 2: assertThrows로 에러가 발생했는지 확인 가능

중복 회원 예외

  • 회원 전체조회,한명조회
    • 해당 Test들도 순서에 의존적이므로 repository에 clearStore() 메서드를 호출해 주어야 된다.

  • 의존성 주입
MemoryMemberRepository memberRepository = new MemoryMemberRepository();
  • 해당 방식으로 계속 호출할 경우 memoryMeberRespository가 new로 계속 생성되기 때문에 같은 객체라고 하기 어렵다

 

  • service를 생성할 때 Repository을 의존성을 주입받으면 된다(DI)

 

  • 메서드를 실행하기 전에 service에 Reposiory 객체를 생성자로 넣어준다

@BeforeEach를 통한 의존성 주입(DI)

 

728x90