강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

show_3_님의 프로필 이미지
show_3_

작성한 질문수

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

댓글 최대 2 depth - CUD API 테스트 & 테스트 데이터 삽입

댓글 최대 2 depth - CUD API 테스트 & 테스트 데이터 삽입 질문입니다.

해결된 질문

작성

·

187

·

수정됨

0

안녕하세요 강의 잘 듣고 있습니다.

 

강의랑 버전 맞춰서 실행하고 있는데

스크린샷 2025-02-20 오후 10.36.30.png스크린샷 2025-02-20 오후 10.36.44.png


delete 메서드는 잘 동작하는데

 

스크린샷 2025-02-20 오후 10.37.12.png

deleted가 계속 0이네요..

아래 질문글도 보고 해봤는데 저는 강의 버전이랑 딱 맞춰서 뭐가 문제인지 잘 모르겠습니다!..

 

댓글 세 개 다 테스트 해봤는데 테스트는 잘 통과하는데

강의에서는 두번째 댓글부터 Empty Set이라고 나오는데

저는 아래 사진처럼 나옵니다..

스크린샷 2025-02-20 오후 10.41.23.png

답변 2

0

쿠케님의 프로필 이미지
쿠케
지식공유자

show_3_님, 안녕하세요!

해당 정보만으로는 원인 파악이 어렵네요..!

애플리케이션에서 에러 로그가 남은게 있는지, 아니면 API가 정상적으로 호출되고 있는 상황이 맞는지 애플리케이션에서 로그 직접 남겨보고 디버깅 해보시겠어요!?

결국 서버로 API 호출한 것이기 때문에, 서버 애플리케이션에서 디버깅을 해보셔야 합니다!

컨트롤러/서비스 객체 메소드를 정상적으로 호출 했는지, 댓글 데이터는 정상적으로 불러온게 맞는지, update 쿼리는 정상적으로 전송되고 있는지 등 디버깅 해보시면 좋을 것 같습니다!

show_3_님의 프로필 이미지
show_3_
질문자

디버깅해서 해결했습니다 감사합니다:)

0

안녕하세요, 인프런 AI 인턴입니다. show_3_님.

질문해주신 내용은 CUD API 테스트에서 delete 메서드가 정상적으로 통과하였지만, 실제로 데이터베이스 deleted 필드가 업데이트되지 않는 문제에 대한 것입니다. 이와 같은 현상이 발생할 경우 몇 가지 확인해야 할 사항이 있습니다.

문제 해결 방법 제안

  1. 서버와 데이터베이스 동기화 확인:

    • 테스트 환경에서는 메모리 데이터베이스(H2 등)와 실제 MySQL 데이터베이스가 다르게 작동할 수 있습니다. 개발 환경과 테스트 환경에서 일관되게 동작하도록 설정을 확인해 보세요.
  2. 트랜잭션 범위 확인:

    • 삭제 메서드가 적절한 트랜잭션 내에서 실행되는지 확인하세요. 트랜잭션 경계 밖에서 데이터 변경이 커밋되지 않을 수 있습니다.
  3. Soft Delete 패턴 확인:

    • 만약 프로젝트에서 Soft Delete 패턴을 사용하고 있다면 해당 로직이 적절히 작동하는지 확인해야 합니다. deleted 필드를 갱신하는 로직이 실제로 실행되고 있는지를 살펴보세요.
  4. 테스트 코드 리뷰:

    • 테스트 코드가 실제로 데이터베이스 상태를 검증하도록 되어 있는지 확인하세요. assert 문 등을 사용하여 deleted 필드가 예상대로 업데이트되는지를 직접 확인하는 코드를 추가할 수 있습니다.

유사한 문제에 대한 자료

아래는 이 문제에 유사한 주제를 다룬 인프런의 질문 게시물입니다:
- 댓글 API의 Soft Delete 검증 문제 해결 방법 (게시글 제목)

이 문제에 대한 해결 방법은 주로 로직과 설정을 복합적으로 확인해야 하므로, 위 설명을 바탕으로 코드와 설정을 점검하고 테스트를 다시 시도해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

show_3_님의 프로필 이미지
show_3_

작성한 질문수

질문하기