1. 단위 테스트, 통합 테스트 단위 테스트란, > 코드가 제대로 작동하는지 확인하기 위해 애플리케이션의 개별 모듈을 독립적으로 테스트 (종속성과의 상호 작용없이)하는 것을 의미합니다. 통합 테스트란, > 다른 모듈이 그룹으로 결합 될 때 잘 작동하는지 확인하는 것을 의미합니다. 간단한 예로 기능성 휴대폰을 사용할 경우 필요한 주요 부품은 "배터리...
[문제 설명] 멤버십 적립 서비스 현재 지원중인 멤버십에는 네이버, 카카오, 라인 3가지 멤버십이 있으며, 사용자는 원하는 멤버십을 등록할 수 있다. 포인트 적립비율은 결제금액의 1%로 고정되며, 추후에 고정 금액(1000원)으로 확장하여 적립될 수 있어야 한다. [기능 요구 사항] 멤버십 연결하기, 나의 멤버십 조회, 멤버십 연결끊기, 포인트 적...
[멤버십 등록 API구현] 엔티티 등록을 위한 repository부터 개발을 할 것이다. 제일 먼저 MembershipRepository에 대한 테스트 클래스부터 작성한다. > 실제 코드를 짤때는 생성자 주입을 하도록 한다. 지금은 테스트 코드 이므로 간편하게 필드 주입을 사용한다. 컴파일 오류가 날 것이다. 해당 레파지토리와 엔티티가 없기 때문이...
[멤버십 등록 API 구현] 다음으로 멤버십을 등록할 테스트를 작성해 보았다. Membership 엔티티 클래스에 해당 컬럼들이 없기 때문에 컴파일 오류가 난다. 컬럼을 생성하고 다시 테스트를 돌려보자 이후 테스트를 다시 돌려보면 성공하는 것을 볼 수 있다. 리팩토링 단계로 멤버십타입을 enum형식으로 바꾸면 관리하기 좋을 것 같다. enum형식이...
[ 요구사항 확인 ] 나의 멤버십 전체 조회 API 기능: 내가 가진 모든 멤버십을 조회합니다. 요청: 사용자 식별값 응답: {멤버십 ID, 멤버십 이름, 포인트, 가입 일시}의 멤버십 리스트 클라이언트가 해당 클라이언트의 ID를 입력했을 시 클라이언트가 가진 모든 멤버십을 조회할 수 있게 만들 레파지토리부터 테스트 코드를 진행하겠다. 멤버십이 없을 때...
[ 요구사항 확인 ] 나의 멤버십 상세 조회 API 기능: 나의 1개 멤버십을 상세 조회합니다. 요청: 사용자 식별값, 멤버십 ID 응답: 멤버십 ID, 멤버십 이름, 포인트, 가입일시 상세조회 실패시를 테스트 코드로 작성해보자. 상세조회 실패시는 해당 멤버십이 없을 때이다. 그 전에 Entity를 수정해보자 간단한 erd를 만들어보았다. 상세 조...
멤버십 삭제 요구사항 [요구사항 확인] 나의 멤버십 삭제 API 기능: 나의 멤버십을 삭제합니다. 요청: 사용자 식별값, 멤버십 번호 응답: X 멤버십 삭제를 위해서는 해당 멤버십 사용자가 멤버십 조회 페이지에서 삭제를 할 수 있게 만들어야 하기 때문에 멤버십의 PK만 알면 삭제할 수 있도록 만들어야 한다. 제일 먼저 레파지토리테스트를 해보자...