티스토리 뷰

반응형

 

캡스톤 개발 도중

insert문 Test Case를 작성하다

다음과 같은 에러를 마주했다.

 

어떤 에러이며 어떻게 해결했는지

바로 확인해보자. 😊

 


 

실행한 insert 문 test case

 

발생한 에러

 

참조 무결성 제약 조건에 위배된 것 같은데

(cast 어쩌고저쩌고 하는거 보니 형변환도 안되는것 같았고,,

대충 디비 연관관계에 문제가 있구나,, 생각했다.)

어디가 어떻게 위배된 건지,

뭐가 문제인건지 전혀 감을 잡지 못했다.

 

인터넷에 검색해보니 연관관계

매핑이 잘 되어있는지 다시 보라고 해서

확인했고 이상없었다.

 

혹시나 하고 코드를 다시 보니 문득

에러는 이 부분 아니면 날 수가 없다.. 는 생각이 들었다!

 

 

바로 이 부분 ❗❗❗

 

에러가 나겠다 생각했던 부분

 

참조 무결성 어쩌고 저쩌고 에러가 난다는 것은

테이블 연관관계에서 문제가 있다는 것인데

Member member = Member.builder().memberCode(i).build()

이 부분에서 가져오는 값이 없어서 에러가 나지 않았을까.. 생각해

디비를 조회해 보았다.

 

db 조회 결과

 

분명 1번부터 회원이 있을 줄 알았는데

회원이 4번부터 있었다.

 

여기서 에러가 났겠거니 판단하고

insert 문으로 직접 member를 추가해주었다.

 

member 추가

 

회원이 1번부터 100번까지 있는 것을 확인한 후에

다시 insert test case를 실행하니

문제없이 잘 실행되었다.

 

test case 성공

 


개발은 확실히 많이 하면 할수록

실력이 느는 것 같다.

 

요즘에도 수많은 에러를 만나고 있지만

이제는 어떻게 해결해야할지 감이 잡힌다.

 

에러 메세지만 보고 겁을 먹기보다는

인터넷 검색 + 내 코드를 찬찬히 보면

점점 어디가 문제가 될 수 있는지 보이기 시작한다!

 

오늘도 예전이었으면 디비 관계 및 참조 부분에서 계속 해맸을 텐데

내 코드를 보고 range 문제로 에러가 날 수 있겠다는 걸 캐치한 후

바로 DB data 조회를 해서 스스로 문제를 해결했다!

 

나날이 발전하는 실력에 행복해하며 오늘도 열공하자. 🔥

반응형