인프런 커뮤니티 질문&답변

황상익님의 프로필 이미지
황상익

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 통합 테스트

MemberServiceIntegrationTest에서의 오류

작성

·

445

0

MemberServiceIntegrationTest 실행했을때 중복회원 부분에서 계속 오류가 뜨네요 ;;;
하나 해결하면 하나 터지네용..

도와주시면 감사하겠습니다.

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

답변 2

0

저는 두번째 방법으로 해결되었는데 문제가 무엇이었을까요? 제 생각에는 딱히 충돌이 날 이유가 없다고 생각했고 코드도 문제가 없었는데 exception을 캐치하지 못해서 곤란했습니다.

두번째 방법을 안내드린 것은 JPA가 자동생성하는 코드들로 인해 테이블 속성이 꼬임을 고려하여 답변 드린 것으로 코드나 실행과정을 확인한 것이아니여서 정확하진 않지만 비슷한 이유로 인해 문제가 발생하였고 해결된게 아닌가 싶습니다.

0

안녕하세요. 황상익님, 공식 서포터즈 OMG입니다.
.

아래의 로직과 관련된 코드에서 강의와 다르게 작성된게 있는지 확인해보고, 해결이 안될 경우 댓글남겨주세요.

validateDuplicateMember 메서드가 강의와 다르거나,

memberRepository save(), findByName() 이 다르거나

 

throw new IllegalStateException("이미 존재하는 회원입니다."(띄어쓰기) ); 가 되어있는지 등

확인해보시길 바랍니다.

올리신 테스트코드에선 문제가 보이지 않네요

image
.
감사합니다.

황상익님의 프로필 이미지
황상익
질문자

말씀 하신 부분을 확인해 보았습니다만 별다른 오류를 찾지 못하였습니다.

코드를 확인해봐야 알것같아요

코드 압축하여 댓글로 링크남겨주세요

황상익님의 프로필 이미지
황상익
질문자

코드 실행해보았습니다.

별다른 코드 수정없이 바로 전체 테스트와 중복회원테스트 단일로 실행 했을 시 성공하였습니다.

두 가지 방법을 설명드릴테니 하나씩 해보시길 바랍니다.

1) ddl-auto=create변경(none -> create)

imagecreate로 변경 후 서버 재실행

 

2) 회원 테이블 삭제 후 재 생성

ddl-auto=create로 변경된 상태이기 때문에 서버 재실행하면 MEMBER테이블 다시 자동생성됨)

image

drop table member if exists;

 

 


시도해보시고 해결이 안될 경우 댓글남겨주세요

황상익님의 프로필 이미지
황상익
질문자

감사합니다 첫번째 방법인 none => auto로 변경하니 작동이 잘 됩니다
none에서 왜 auto로 바꿔야 했나요??

이유가 궁급합니다 ㅎㅎ

기존 테이블과 충돌이 발생하지 않았나 예상합니다.

그래서 삭제하고 jpa에서 테이블 재생성하도록 방법을 안내드린것입니다.

황상익님의 프로필 이미지
황상익

작성한 질문수

질문하기