회원 가입 기능 중복 테스트 > 스프링 부트

본문 바로가기

[개발] 회원 가입 기능 중복 테스트

필기자
2022-10-25 18:29 5,873 0

본문



@SpringBootTest
@TestPropertySource(locations="classpath:application-test.properties")
class MemberServiceTest {

    @Autowired
    MemberService memberService;

    @Autowired
    PasswordEncoder passwordEncoder;

    public Member createMember(){
        MemberFormDto memberFormDto = new MemberFormDto();
        memberFormDto.setEmail("test@email.com");
        memberFormDto.setName("홍길동");
        memberFormDto.setAddress("서울시 마포구 합정동");
        memberFormDto.setPassword("1234");
        return Member.createMember(memberFormDto, passwordEncoder);
    }

    @Test
    @DisplayName("회원가입 테스트")
    public void saveMemberTest(){
        Member member = createMember();
        Member savedMember = memberService.saveMember(member);
        assertEquals(member.getEmail(), savedMember.getEmail()); // A and B 객체가 같은 값을 가지는지 확인
        assertEquals(member.getName(), savedMember.getName());
        assertEquals(member.getAddress(), savedMember.getAddress());
        assertEquals(member.getPassword(), savedMember.getPassword());
        assertEquals(member.getRole(), savedMember.getRole());
    }

    @Test
    @DisplayName("중복 회원 가입 테스트")
    public void saveDuplicateMemberTest(){
        Member member1 = createMember();
        Member member2 = createMember();
        memberService.saveMember(member1);
        Throwable e = assertThrows(IllegalStateException.class, () -> {
            memberService.saveMember(member2);});
        LOGGER.info(e.getMessage());
        assertEquals("이미 가입된 회원입니다.", e.getMessage());
    }
}

 

결화 화면

20221025183054_77e1679e6557268cbe4071a20bc8b7db_oeph.png

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색