Intro. 사건의 전말
🐥 카카오테크캠퍼스 - 2단계 3주차 과제 구현 피드백이 도착했다는 알림에 후다닥 달려갔다
3주차 과제는 Repository Test가 핵심이라, 관련 피드백이 달렸다
처음 멘토님의 피드백을 읽고, 잘이해가 되지 않았다
- 문제의 코드
나름 피드백은 반영하려 했지만, 멘토님이 원한 방향이 아닌거 같아 다시금 질문을 드렸다
결론
일반적으로 PK로 사용되는 Id는 자동 증가
를 사용하는 경우가 있어, 테스트시에 변경 될 여지가 있다
핵심은 유니크
하게 데이터를 구분하여, 변경의 위험을 탈출하라
전역 변수
테스트할때 아이디를 활용하여 조회하는 경우 ID는 자동증가를 사용하기 때문에 내가 원하는 아이디가 나오지 않아서 테스트가 실패할 수도 있습니다.
예를 들어 유저정보를 @BeforeEach 에서 만들때 save해서 반환된 아이디를 전역변수로 선언하여 사용하여, 테스트시 변경될 여지를 제거합니다
유니크한 필드 기준 조회
각 테스트 메소드에서 테스트를 실행하기전에 유니크한 필드를 기준으로 조회하는 것입니다
유니크한 데이터를 기준으로 조회하는 이유는 반환하는 데이터가 내가 원하는 거는 1건인데 실제 조회는 N 건이 될 수 있기 때문입니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'DEV > Java' 카테고리의 다른 글
의존성 주입(DI) (0) | 2023.07.20 |
---|---|
MockMVC Get 응답 비어있을 때 해결 방법 (0) | 2023.07.20 |
@Transactional (0) | 2023.07.18 |
ACID (0) | 2023.07.18 |
Service의 책임 (0) | 2023.07.18 |