• [Spring/Project] Repository Delete시 동작과 child entity 삭제

    개요 카테고리 구조의 데이터에서 카테고리 세부내용 하나를 삭제할 경우. 정상적으로 삭제되지 않는 상황이 발생한다. Category Entity @Entity @Getter @Setter @NoArgsConstructor public class MenuCategory extends AbstractEntity { @Size(min = 1, max = 50) private String name; @ManyToOne @JoinColumn(name = "parentId") @JsonIgnore private MenuCategory parent; @OneToMany(cascade = CascadeType., fetch = FetchType.EAGER) @JoinColumn(name...


  • [Spring/Project] Controller 단위테스트 코드와 설명 2

    필자는 이 테스트가 단위테스트에 적합하지 않다고 판단해 글 마지막 부분에서 이 테스트 내용들을 AcceptanceTest로 전환하기로 결정하였습니다. 또한 이 컨트롤러에 대한 단위테스트는 1번 방법으로 HandlerMethodArgumentResolver 를 Mocking하여 구현하고. 인증에 대한 단위테스트는 HandlerMethodArgumentResolverTest에 대한 단위테스트로 따로 작성하는게 옳다고 생각합니다. 개요 진행중인 스터디 프로젝트에서 컨트롤러를 수정해야할 필요가 생겼다. 마침 이 프로젝트에서 컨트롤러에 대한...


  • [Spring/Project] @WebMvcTest ComponentScan으로 인한 에러 해결기

    개요 전의 글에서 2번에 해당하는 @WebMvcTest를 이용한 테스트 작성중에 에러가 발생하였다. 요약 : 컨트롤러에 대한 단위테스트는 크게 세 방법으로 나눌 수 있습니다. Standalone Mode의 MockMVC테스트 해당 Controller외에 어떠한 빈도 띄우지 않습니다. WebApplicationContext[^1]와 함께하는 MockMVC테스트 ControllerAdvice, Filter와 환경 빈들과 함께 테스트합니다. Real Web Server로 진행하는 SpringBootTest (사실상 Integration Test) RestTemplate을 이용한...


  • [Spring/Project] Controller 단위테스트 코드와 설명 1

    개요 진행중인 스터디 프로젝트에서 컨트롤러를 수정해야할 필요가 생겼다. 마침 이 프로젝트에서 컨트롤러에 대한 테스트를 작성하지 않고 AceeptanceTest만 가지고 진행했었기 때문에, 컨트롤러 테스트를 먼저 작성하여 TDD로 컨트롤러를 작성하고자 한다. 컨트롤러 테스트의 원론에 대한 설명은 블로그 글 [Spring/번역] 컨트롤러 테스트 가이드 in Spring Boot 을 추천드립니다. 요약 : 컨트롤러에 대한 단위테스트는 크게...


  • [Spring/Project] 프로젝트 데이터베이스 선정

    프로젝트를 위한 DB선정 프로젝트 개요 특정시간에 자신에게 푸쉬알람을 보내주는 서비스이다. 푸쉬 알람 항목은 자신이 화면상에서 선정 가능하다. 이 푸쉬 알람 항목들은 모듈화 되어있고, 각 모듈은 사용자가 자율적으로 등록 할 수 있다. 각 모듈에 필요한 정보는 크롤링 URI, 및 html 태그정보이다. 서버에서는 이렇게 사용자들이 모듈로 등록한 정보들을 주기적으로 크롤링해와서 DB에 저장해서...