RE-Heat 개발자 일지

2023년 10월 3주차 TIL 본문

TIL

2023년 10월 3주차 TIL

RE-Heat 2023. 10. 18. 00:10

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

 

Postman에서 Mock Server과 API 만들고 테스트하기 (상)

서버 개발자라면 보통 제공하는 입장에서 개발을 할 것이다. 하지만 때로는 제공받는 경우를 고려해서 개발을 해야할 때도 있다. 그런데 만약 스펙만 존재하고 실제 동작하지 않는 API를 염두하

devvkkid.tistory.com

https://gngsn.tistory.com/24

 

Postman, 어렵지 않게 사용하기 - Mock Server

안녕하세요 😆 요즘 포스팅하는데 빠져가지고,,, 1일 1포스팅인 것 같아요 🤣 서버뿐만 아니라, 클라이언트를 개발하는 분들도 도움이 되는 내용들을 다룰테니 도움이 되셨으면 좋겠어요. ******

gngsn.tistory.com

간단하게 목 서버 만들고 API 테스트할 때 이 방법을 쓰면 좋겠다.

 

② AWS Route53을 이용해 도메인 연결

[Web/AWS] AWS Route53을 이용하여 도메인 연결

스프린트 과정에서 팀원 중 한 분이 쓴 방법인데, 도메인을 직접 사고 AWS Route53을 이용했다. 괜찮은 방법이라 나중에 해볼까 생각 중.

 

③ 자바 삼항연산자 문법이 늘 헷갈린다.

조건 ? 참 : 거짓 => 조금 고생해서 이젠 안 까먹을 것 같다.

 

④ 한 번에 두 엔티티를 조회할 때 페치 조인을 쓰지 않고 각각 불러온 다음 Response 객체에 집어넣는 방법을 택했다. 나중에 수정 여부를 고민해야 겠다.