[스프링 입문] - 회원 관리 예제(3)

stephanie·2022년 10월 9일
0

스프링 입문

목록 보기
10/13

회원 서비스 개발

실제 비즈니스 로직을 작성하는 곳!

<서비스>
domain, repository, controller 패키지와 동일한 위치에 service 패키지를 생성하고, MemberService class를 생성한다.
Optional로 감싸면 그 안의 여러 메소드를 쓸 수 있다.
e.g. ifPresent()
Optional을 빼고 바로 validateDuplicateMember의 내용처럼 작성할 수 있다.

** 네이밍 방식

  • 리포지토리: 개발자스럽게 네이밍
    e.g. save
  • 서비스: 비즈니스 로직에 맞도록 네이밍
    e.g. join

회원 서비스 테스트

MemberService에서 Create new Test를 활용하면 자동으로 테스트 파일을 만들어 준다.
테스트 라이브러리는 JUnit5를 선택한다.

  • 같은 instance를 쓸 수 있도록 new MemoryMember 등을 외부에서 넣어주도록 MemberService 코드를 수정한다.
    그 후, test 코드도 수정해 MemberService를 생성할 때 MemoryMember를 넣어주도록 한다.
    => 같은 MemoryMemberRepository를 사용하도록 한다.
    DI (Dependency Injection)

  • given, when, then

    • given: 이 데이터를 기반으로 한다.
    • when: 이 것을 검증한다.
    • then: 여기가 검증부이다.

테스트는 예외 처리 역시 중요하다!
try catch 문을 활용하는 방법도 있지만 다른 방법도 있다.
assertThrow: 뒤의 로직을 실행하면 앞의 exception이 터져야 한다.

0개의 댓글