위의 문제를 벌써 몇 번이나 겪는지 모르겠다. 저 디버깅 문제로 사실 6,7번은 겪은 것 같다.
그래서 디버깅 포인트를 간단히 정리해보았다.
1. 생성자 확인 해 볼 것
public ClassName(Long id,
String writer,
String title,
String topic,
String place,
String time,
String participants,
String content,
Long views,
Long likes) {
this.id = id;
this.writer = writer;
this.title = title;
this.topic = topic;
this.place = place;
this.time = time;
this.participants = participants;
this.content = content;
this.views = views;
this.likes = likes;
}
아래와 같이 되어 있을 확률이 높다.
public ClassName(Long id,
String writer,
String title,
String topic,
String place,
String time,
String participants,
String content,
Long views,
Long likes) {
}
2. DTO getter 문제 체크
1. 반환해주는 Dto에 getter 가 없을 확률이 매우 높다.
2. Dto에 생성자를 체크해주는 것도 좋다.
3.프론트에서 값을 잘 전달하는 지 체크
프론트에서 변수를 백으로 잘 전달해주는지 apiService를 점검해본다.
4. @RequestBody 어노테이션 체크
리퀘스트바디 어노테이션을 컨트롤러에서 변수로 붙여주었는지 체크해주어야한다.
1. 컨트롤러 테스트에서 오류날 경우
SERVICE mocking 안함
컨트롤러 테스트에서 서비스를 mockBean으로 모킹해준 후 given 과 any() 를 이용해서 테스트 해준다.
any()를 해주는 이유는 동일한 속성을 가진 객체를 서비스 메소드에 넣어도 별도로 override equal을 해주지 않으면 다르게 취급하므로 테스트가 제대로 통과되지 않을 확률이 높다.
'개발 관련 학습 및 문제해결' 카테고리의 다른 글
AWS S3 버킷 만들기 (0) | 2022.12.04 |
---|---|
리액트 플럭스 패턴( Flux Pattern )[20221203-TIL] (1) | 2022.12.03 |
리액트 form , handleChange Mocking ,테스트 코드 짜기 (0) | 2022.11.30 |
수정하기 클릭시 수정하다 취소한 내용이 그대로 남아있는 현상, 자바스크립트 find 함수[20221129-TIL] (0) | 2022.11.29 |
끝까지 하나하나 전부 지키면서 해내기[20221128-TIL] (0) | 2022.11.28 |
댓글