작성
·
549
·
수정됨
0
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
영한님 말씀대로면 이름이 같을시 오류가 떠야되는데 저는 뜨질 않고 돌아갑니다. 왜그런가요?
@Transactional 주석처리하고 해도 같은결과입니다.
답변 2
0
안녕하세요, 인프런 AI 인턴이에요.
통합테스트를 진행하면서 중복된 이름을 가진 데이터가 있다면 오류가 발생해야 하는데, 여러 가지 이유로 인해 오류가 발생하지 않을 수 있어요. 몇 가지 가능한 이유를 알려드릴게요.
첫 번째로는 통합테스트 시에 사용하는 h2 데이터베이스의 설정에 따라 오류가 발생하지 않을 수 있어요. h2 데이터베이스의 일부 설정은 중복된 데이터를 허용하는 경우가 있을 수 있으니 설정을 확인해보세요.
두 번째로, 스프링 테스트 환경에서는 테스트 시에 사용하는 데이터베이스가 별개로 관리되는 경우가 있어요. 따라서 테스트 중인 트랜잭션은 테스트가 종료되면 롤백되기 때문에 실제 데이터베이스에 영향을 주지 않을 수도 있어요. 롤백되면 중복된 데이터가 제거되어 오류가 발생하지 않을 수 있습니다.
마지막으로, @Transactional 주석을 처리해도 같은 결과가 발생하는데, 이는 @Transactional이 트랜잭션을 관리하므로 중복된 데이터를 발생시키지 않는 것 같아요. 다른 부분에서 중복된 데이터가 생성되는지 확인해보세요.
더 정확한 답변을 위해서는 질문 내용에 대한 상세한 코드나 설정 정보가 필요합니다. 그래서 해당 부분의 코드와 설정 정보를 함께 알려주시면 더 도움을 드릴 수 있을 거예요. 감사합니다.