이 프로젝트에서는 TDD (Test Driven Development) 방식을 적용해 개발을 진행함. TDD는 코드 작성 전에 실패하는 테스트를 먼저 작성하고, 해당 테스트가 통과할 수 있도록 코드를 구현한 뒤, 리팩토링을 거치는 개발 방식임. 이를 통해 코드의 신뢰성
로그인 성공을 테스트하기 위해 다음과 같이 코드를 작성했지만, encoder.matches(...) 부분에서 에러가 발생함이 코드에서는 userEntityRepository.findByUserName(userName)의 결과를 Mocking하여 fixture를 반환하도
비즈니스 요구사항을 상위 레벨에서 검증하기 위함. 컨트롤러 테스트는 애플리케이션의 외부 레이어(HTTP 요청/응답 처리)를 검증하는 역할을 하며, 사용자 요청(HTTP API 호출)이 어떻게 처리되고 어떤 결과를 반환해야 하는지를 상위 레벨에서 설계하고 확인할 수 있
좋아요 기능사용자가 특정 게시물에 좋아요를 누름사용자가 이미 좋아요를 눌렀다면 취소됨 (토글 방식)좋아요 개수를 조회할 수 있음댓글 기능사용자가 특정 게시물에 댓글을 작성할 수 있음댓글을 수정할 수 있음댓글을 삭제할 수 있음특정 게시물의 모든 댓글을 조회할 수 있음좋아
알림 정보(AlarmArgs)를 별도 클래스로 분리알림 데이터를 JSON 형태로 DB에 저장할 수 있도록 @Convert + AlarmArgsConverter 적용AlarmEntity에 @Column(columnDefinition = "json") 명시하여 DB에서 J