회원 도메인이 정상적으로 동작하는지 테스트 해봅시다.

앞에서 회원 클래스 다이어그램을 만들었다면 지금은 회원 객체 다이어그램을 만들 차례입니다.

Untitled

클라이언트가 런타임에 동작을 하면 MemberServiceImpl이라는 회원 서비스를 사용하게 되고, 실제로 회원 서비스는 new 했던 MemoryMemberRepository를 참조합니다.

그래서 회원 클래스 다이어그램은 정적이고 회원 객체 다이어그램은 동적입니다.

회원 도메인 - 회원 가입 main

MemberApp을 만들어줍니다.

Untitled

package hello.core;

import hello.core.member.Grade;
import hello.core.member.Member;
import hello.core.member.MemberService;
import hello.core.member.MemberServiceImpl;

public class MemberApp {
    public static void main(String[] args) {
        MemberService memberService = new MemberServiceImpl();
				//...1
        Member member = new Member(1L, "memberA", Grade.VIP);
        memberService.join(member);
				
				//...2
        Member findMember = memberService.findMember(1L);
        System.out.println("new member = " + member.getName());
        System.out.println("find Member = " + findMember.getName());
    }
}
  1. member를 만들어서 join을 해서 회원 가입을 합니다.

    id : 1L name : memaberA Grade : VIP

  2. 제대로 가입이 되었는지 확인합니다.

    가입한 Member와 findMember가 동일하면 원하는대로 된 것입니다.

🌟 [TIP]

변수 추출하기 : Command + Option + V

🌟 [TIP]

메소드 내에서 사용 가능한 변수 출력 : soutv

System.out.println("value = " + value);

여기까지는 순수한 자바코드로만 개발을 한 것입니다.

하지만 메인 메서드로 테스트 하는 것은 좋은 방법이 아닙니다.

그래서 JUnit이라는 테스트 프레임워크를 사용할 것입니다.

기본적으로 세팅이 되어 있습니다.