스프링 부트와 AWS로 혼자 구현하는 웹 서비스
: 인텔리제이, JPA, JUnit 테스트, 그레이들, 소셜 로그인, AWS 인프라로 무중단 배포까지
이동욱 저
그대로 모두 따라해보자.
Table of Content

교과서적인, 정돈된 선배의 코드들을 따라가자
프로젝트를 하면서 느껴온 것들은 내가 작성하는 코드의 정돈상태, 어떻게 구현하는 것이 올바른지, 그 기준을 어떻게 두어야하는지 항상 고민이다. 어떤 코드가 좋은 코드인지 올바른 사용법인지 맞는지 아닌지 끊임없이 고민은 하지만, 혼자 공부하는 입장에서는 너무 많은 정보들이 혼란스럽게 한다.
실체를 따라 찾아보자.
단순히 파편화된 궁금증에 대한 키워드 검색에 대한 많은 정보들은 종합해보면 머리에서는 이해가 되는것 같다. 클린 코드를 지향하는것은 코드 자체로도 주석이 필요 없을 정도로 깔끔한 코드, 명명 규칙등을 따라야 한다. 하지만 그 방법이나 실물을 보지 못하고 추상적으로 개념만 이해하고 결국 혼자 해보려하기 때문에 내가 작성하는 것들에 대한 자신감이 없다.
결국 우수한 선배를 스스로 만들고 팔로우해야한다. 그런 분들을 직접 볼 수도, 같이 일하고 있지도 가르침을 받을 기회가 당장에 없기 때문에 교육이나 개발자 선배들의 책을 통해서 배워나가야 한다. 이번엔 많은 멘토분들께 추천받은 이 책을 읽는것만이 아니라 코드로 직접 따라해보고 그 개념들을 쉽게 정리한것들을 다시 살펴보면서 내가 잘못하는부분, 배워야할부분들을 다시 한번 정리해보고자 한다.
Related Posts
Search

이전 테스트코드와 다른점
스캔 대상에서 SecurityConfig를 제거
@WebMvcTest어노테이션에 excludeFilters 속성을 추가하여 SecurityConfig.class를 제거한다. 해당 방법은 추후 사용하지 않는 것을 권장하고 있다.
모의 인증 사용자 추가 @WithMockUser
@WithMockUser어노테이션을 통해 가짜 인증 사용자를 생성하여 추가해준다.
이후 테스트 실행 시 다음과 같은 오류로 변경된다.
JPA metamodel must not be empty! 오류
위 오류는 @EnableJpaAuditing으로 인해 발생하는 오류이다. 이를 위해서는 최소 1개의 @Entity 클래스가 필요한데 @WebMvcTest다 보니 스캔 할 수 없기 때문에 문제가 생기게 된다. 따라서 메인 클래스인 LdwSpringApplication.java에서 JpaAuditing 어노테이션을 제거하고 별도로 config로 분리하여 관리하도록 한다.
[Spring-LDW] 스프링 시큐리티 추가 후 @WebMvcTest에서 OAuthService를 못찾는 오류 해결
Load more