메소드 주입 방식

외부의 도메인 서비스 주입할 때는 정적 팩토리 메소드로 사용할 수 있음

private Member(String email, String nickname, String passwordHash) {
        this.email = Objects.requireNonNull(email);
        this.nickname = Objects.requireNonNull(nickname);
        this.passwordHash = Objects.requireNonNull(passwordHash);

        this.status = MemberStatus.PENDING;
    }

    public static Member create(String email, String nickname, String passwordHash, PasswrodEncoder passwordEncoder) {
        return new Member(email, nickname, passwordEncoder.encode(passwordHash));
    }

JUnit @BeforeEach

JUnit은 기본적으로 매 테스트 메소드 마다 해당 테스트 클래스 전체의 인스턴스를 새로 생성함

→ @BeforeEach로 사전작업 수행