스프링 DB2 테스트 - 데이터 롤백 오류
299
작성한 질문수 40
findItems()에서 "itemA", "itemB"가 남아있다는 오류가 발생합니다. jdbc:h2:tcp://localhost/~/testcase 로 접속해서 select 해 보면 데이타가 없는데, =jdbc:h2:tcp://localhost/~/test 로 접속해서 select하면 "itemA", "itemB" 가 남아있습니다.(삭제하고 다시 실행해도....).
TestDataInit을 실행하는거 같네요??
@Bean
@Profile("local")
public TestDataInit testDataInit(ItemRepository itemRepository) {
return new TestDataInit(itemRepository);
}링크 :: https://drive.google.com/file/d/1HD2gxtYhL8B5fZ3KazZ148-4x66PPCuo/view?usp=sharing
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 내용과 관련하여, 스프링 DB 2편 - 데이터 접근 활용 기술 강의에서 유사한 컨텍스트를 다루는 질문과 답변이 있습니다. jfk6725님의 질문에서 언급하신 findItems() 메소드와 관련한 오류, 특히 데이터 롤백과 관련된 문제는 종종 테스트 환경에서 발생하는 일련의 문제들 중 하나입니다. 테스트 후 데이터가 롤백되지 않아 예상치 못한 결과를 보이는 경우, 스프링 테스트 설정이나 H2 데이터베이스의 설정을 확인해볼 필요가 있습니다.
다음은 유사한 문제를 해결하기 위해 참고할 수 있는 질문 & 답변 링크입니다:
- 스프링DB 2 :: 테스트 - 데이터 베이스 연동 오류
- 이 게시글에서는
save와findItems테스트 중 발생한 오류와 관련하여, Item 클래스의 annotation 변경과 H2 데이터베이스 내 테스트 데이터를 삭제하는 방안으로 문제를 해결하였습니다. 비록 정확히 동일한 문제는 아닐 수 있으나, 데이터 롤백 관련 문제 해결에 도움이 될 수 있습니다.
- 이 게시글에서는
질문 내용을 기반으로 할 때, 데이터베이스 연결(URL을 포함하여)과 각 테스트 케이스 실행 후 데이터 롤백 처리 방식에 관해 확인하실 필요가 있어 보입니다. 스프링 테스트 환경에서 @Transactional 어노테이션을 사용하여 테스트를 감싸는 경우, 테스트가 종료될 때 데이터베이스의 상태를 롤백하여 초기 상태로 복구하는 것이 일반적입니다. 따라서, 테스트 환경 구성과 해당 어노테이션의 적용 여부를 확인해 보시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
RepositoryTest의 패키지 위치가 domain인 이유
0
29
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
29
1
update()에 사용하는 setter 질문드립니다.
0
47
1
SQL 중심적 개발의 문제점에 대한 질문
0
72
1
혹시 Containing 을 안쓰신 이유가 있을까요?
0
83
2
[공유] 스프링부트 4.x 버전 mybatis 연동
0
173
1
@repository 어노테이션
0
89
3
ItemService
0
58
1
논리 커밋, 물리 커밋 질문드립니다.
0
54
1
내부 트랜잭션 커밋은 필수인가요?
0
57
1
프록시 커넥션 객체를 반환할 때 생성하는건가요?
0
54
1
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
2
178
2
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
0
77
1
@EventListener(ApplicationReadyEvent.class) 관련
0
88
1
트랜잭션 동기화 매니저와 데이터 소스
0
76
1
DB 관련 강의 개설 계획은 없으신건가요?
0
133
2
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
0
94
1
스프링 3 버전 이상 rollbackFor 변경된듯요
1
112
1
트랜잭션 전파 질문.
0
87
1
프로젝트 오픈 에러
0
126
1
외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다
0
83
2
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
0
72
1
h2 인메모리 테스트중 예약어 충돌날 경우 대처방법
0
102
1
커스텀aop와 트랜잭션을 같이 사용할때 우선순위에 관한 질문
0
98
2





