2023년 10월 3주차 TIL
10.17
테스트 코드를 짜면서 @WebMVCTest로 작업 중이었는데 계속해서 Service가 빈에 등록되지 않는다는 에러가 떴다.
처음엔 Service 코드에 빈을 안 붙이거나 다른 쪽에서 실수가 있나 찾아봤는데
알고보니 @WebMVCTest는 웹 관련 빈만 주입되고(@Controller, @ControllerAdvice 등) @Service 같은 @Component는 주입되지 않았다.
[SpringBoot] @WebMvcTest 단위 테스트시 Bean 주입 에러
그래서 @WebMVCTest를 @SpringBootTest로 수정했는데 이러면 MockMvc를 읽지 못하므로 @AutoConfigureMockMvc 애노테이션을 붙였다.
10.18
테오의 스프린트 16기 시작
처음 조를 짤 때 기존 조가 공중분해되는 당황스러운 일(인원수 부족)도 겪었지만, 다행히 지금 조가 받아줘서 스프린트를 이어갈 수 있었다.
10.20
이런 에러를 만났다.
이유는 ObjectMapper가 @RequestBody를 바인딩할 때 기본 생성자를 활용하는데, 이를 생성하지 않았기 때문.
그래서 기본 생성자를 @NoArgsConstructor로 추가해 줬다.
무분별한 생성자 생성을 막기 위해 AccessLevel을 Protected로 바꿔도 잘 된다.
10.21
① 전체 테스트 과정에서 생긴 오류
전체 테스트(gradle - verification - test)를 돌렸더니 아래와 같은 에러가 떴다.
해결책
IntelliJ 무료버전을 사용해서 생긴 이슈였다.
Buil and run using, Run test using을 IntelliJ에서 Gradle로 바꿔주니 잘 실행된다.
② Auto Import
그동안 필요없는 import는 ctrl + alt + o로 지워주고 있었는데, IntelliJ에서 자동으로 지워주는 기능이 있어 추가해 봤다. 방법은 다음과 같다.
10.22
① 포스트맨으로 목 서버 만들기
https://devvkkid.tistory.com/219
간단하게 목 서버 만들고 API 테스트할 때 이 방법을 쓰면 좋겠다.
② AWS Route53을 이용해 도메인 연결
[Web/AWS] AWS Route53을 이용하여 도메인 연결
스프린트 과정에서 팀원 중 한 분이 쓴 방법인데, 도메인을 직접 사고 AWS Route53을 이용했다. 괜찮은 방법이라 나중에 해볼까 생각 중.
③ 자바 삼항연산자 문법이 늘 헷갈린다.
조건 ? 참 : 거짓 => 조금 고생해서 이젠 안 까먹을 것 같다.
④ 한 번에 두 엔티티를 조회할 때 페치 조인을 쓰지 않고 각각 불러온 다음 Response 객체에 집어넣는 방법을 택했다. 나중에 수정 여부를 고민해야 겠다.