본문 바로가기
728x90

분류 전체보기54

카카오 쇼핑하기 클론프로젝트 #4 이번엔 좋아요 기능을 추가해봤다!! 기존 er diagram에서 테이블을 하나 추가해줬다. 사용자가 , 어떤 상품마다 좋아요를 눌렀는지에 대한 데이터를 저장해줘야한다고 생각했기 때문에 Like 라는 테이블을 따로 만들어주었다. package com.example.kakao.like; //import 생략.. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name="like_tb", indexes = { @Index(name = "like_user_id_idx", columnList = "user_id"), @Index(name = "like_product_id_idx", columnList = "product_id") .. 2023. 8. 22.
카카오 쇼핑하기 클론프로젝트 #3 매주 프로젝트 진행상황을 블로그에 업데이트 하려고 했지만... 4주차 까지는 스프링부트에 적응하면서 과제 하느라 바빴고 쏟아지는 새로운 개념들을 익히기 바빴다..ㅎ ㅎ 저번 주에 드디어 6주간의 프로젝트가 끝나고 뭘 해야 좋을 지 고민하다가... 새로운 프로젝트를 하는 것 보단 기존 프로젝트의 부족한 기능을 추가하거나 코드를 리팩토링 하는 시간을 갖는 게 좋을것 같다고 생각했다. 기존 프로젝트엔 "장바구니 조회" , "장바구니 추가" , "장바구니 수량 수정 기능"만 구현했다. 따라서 "장바구니 옵션 삭제" 기능을 추가해봤다. 제대로 잘 구현했는지 확신할 수 없지만ㅜ..ㅜ 일단 스스로 구현한 내용을 바탕으로 적어보겠다. 사진은 프론트 UI인데 각 옵션마다 삭제할 수 있는 x 버튼을 추가했다고 가정하자. .. 2023. 8. 9.
stub는 언제 사용할까? 컨트롤러 단위테스트를 진행하면서 처음에 혼란이 왔던 부분은 stub는 언제? 왜? 사용하는지가 의문이었다. 근데 정확히 배우고 나니까 너무 간단한 문제였던 것,,,, 내가 이해한 내용을 토대로 작성해보겠다. Stub이란? stub은 상태 검증 이라고 할 수 있다. 상태 검증이란 메소드가 수행된 후, 객체의 상태를 확인하여 올바르게 동작했는지를 확인하는 검증법이다. 다시 정리하자면, 컨트롤러에는 서비스를 호출하는 메서드가 존재하는데, 그 메서드의 리턴값을 내가 임의로 지정해주는 것이다. 나는 "컨트롤러" 단위테스트를 작성하는 것이 목표였어서 UserService를 MockBean으로 등록 하였다. 사실상 UserService 안에 있는 메서드 로직을 사용할 수 없는 상태인거다. 따라서 난 컨트롤러에서 쓰인.. 2023. 7. 26.
@WebMvcTest 란?, 가짜로 등록한다는 것의 의미? 컨트롤러 단위테스트를 작성하면서 @WebMvcTest를 사용했다. 시간이 지나면 금방 까먹을 거 같아서 일단 간단히 정리하기... https://www.appsdeveloperblog.com/the-first-principle-in-unit-testing/ The F.I.R.S.T. Principle in Unit Testing - Apps Developer Blog When writing unit tests, developers try to follow the F.I.R.S.T principle as much as possible. F.I.R.S.T is a combination of multiple principles. Let’s learn www.appsdeveloperblog.com 참고로 Fas.. 2023. 7. 26.
728x90