service와 repository 함수 이름 생성 repository : 단순한 기계적으로 개발스럽게 이름 사용 (그저 데이터를 넣었다 빼는 동작을 일컫도록) service : 비즈니스에 의존적으로 설계 (비즈니스에 가까운 용어를 사용하여, 명확한 역할과 매칭되도록 )
1. 폴더 구성
service 폴더를 생성한 후, MemberService 클래스를 생성한다.
2. 회원가입 생성
회원 가입을 하는 join 함수를 생성한다. 8번째 줄에 레포지토리를 선언한다. 중복 회원 검증에 대한 방법은 크게 3가지가 있으며, 여기서는 방법[3]을 사용한다.
▼ 회원가입 생성 함수
방법[3]을 사용하도록 하겠다.
3. 회원 조회 생성
전체 회원 조회와 회원 조회 함수를 생성한다.
회원 서비스 테스트
1. 테스트 케이스 생성
① 서비스 클래스에서 단축키를 사용하여 Create New Test를 클릭한다.
ctrl + shift + T (for Window) / commend + shift + T (for Mac)
② Create New Test 생성
Testing library는 JUnit5, Class Name은 디폴트로 지정해준 MemberServiceTest, 맨 아래 테스트할 함수를 체크박스로 체크 후, OK를 클릭
③ 테스트 케이스 클래스 생성
다음과 같이 테스트 케이스 클래스가 생성된 것을 확인할 수 있다.
2. 테스트 케이스 작성
테스트의 구조 1. given (제공) 2. when (조건) 3. then (결과)
무언가 주어졌을때(given), 이런 조건으로(when), 이런 결과가 나와야해(then)
※ 테스트는 과감하게 한글로 작성해도 된다!!
① 회원가입 테스트 작성
다음과 같이 회원가입 테스트를 작성한 후, 실행을 시켜 잘 동작하는지 확인한다.
member.setName("hello"); // member에 hello라는 이름을 넣고, Long saveId = memberService.join(member); // 회원가입 후, 회원가입한 id를 반환받는다. Member findMember = memberServie.findOne(saveId).get(); // 해당 아이디의 member로 반환받는다. assertThat(member.getName()).isEqualTo(findMember.getName()); // 회원가입하려는 이름(member.getName())과 회원가입이 완료된 이름(findMember.getName())이 일치한지 검증한다.