인프런 커뮤니티 질문&답변
회원가입 테스트 오류
작성
·
162
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
9분 31초에 나오는 테스트 실행해봤는데 회원가입에서 중복회원이라고 에러가 뜨네요..
transactional잘 되어있고 코드도 똑같은데 왜 안될까요?

답변 2
0
H2 데이터베이스 웹 콘솔에서
DELETE FROM MEMBER;쿼리를 날려서 MEMBER 테이블을 비운다.테스트 클래스에
@Transactional애노테이션을 붙인다.
위 두 가지가 모두 충족되어야 합니다. 질문자님께서는 2번 조건만 충족하신 것으로 판단됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 2wlrlwkd님.
회원가입 테스트에서 “중복회원” 에러가 발생한다는 질문을 주셨네요. 비슷한 상황에 대해 기존에 제공된 답변과 링크를 통해 몇 가지 해결책을 제안해 드립니다.
문제의 핵심
- 에러 메시지: “이미 존재하는 회원입니다.“라는 메시지가 나온다는 것은 중복 회원 체크에서 충돌이 발생했음을 의미합니다. 이는 같은 이름의 회원을 추가하려고 할 때 발생할 수 있습니다.
확인할 사항
@Transactional및 코드 확인:@Transactional애노테이션이 잘 적용되었다면, 데이터베이스에서 자동으로 롤백이 되어야 합니다. 이 부분이 확인되었다고 하면, 코드 내에서 회원 정보 저장 로직을 다시 한 번 확인해 보세요.회원 저장 로직 확인:
MemberService클래스에서 회원을 저장하는 로직이 중복 방지를 잘 처리하고 있는지 코드 레벨에서 한 번 더 확인해 보세요. 특히 데이터 저장 전에 중복 체크를 수행하는 부분입니다.테스트 코드 검토:
중복_회원_예외테스트가 동일한 이름의 회원을 추가하려고 할 때 예외가 발생하는지 확인합니다.
- 예외 메시지가 정확히 일치하는지 확인하세요. (공백, 마침표 등 포함)
유사한 질문과 해결 방법
- 중복 회원 예외 실패라고 나오는 이유: 예외 메시지가 예상과 실제가 일치하는지, 공백과 마침표까지 모두 확인하는 것이 중요하다는 것을 강조하는 답변입니다.
이미 입력한 코드와 테스트 방법이 정상이며, 위의 모든 확인 과정에서도 문제가 없다면, 데이터베이스의 상태나 특정 환경 변수도 확인해 볼 필요가 있습니다. 예를 들어, 테스트 실행 시 데이터베이스 초기화가 제대로 되지 않으면 같은 문제가 반복될 수도 있습니다.
해결이 되지 않을 경우, 현재의 코드를 조금 더 공유하시거나 추가적인 정보를 주시면 보다 구체적인 도움을 드릴 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





