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

SJ님의 프로필 이미지
SJ

작성한 질문수

실습으로 배우는 선착순 이벤트 시스템

Consumer 사용하기

consumer 모듈

작성

·

198

·

수정됨

0

강의에서 consumer 라는 모듈을 새로 생성해서 따로 run 을 시키더라고요

저는 하나의 모듈에서 작업을 하고있는데요.

 

하나의 프로젝트 안에 domain consumer , config 등등을 모두 설정했습니다.

스크린샷 2024-06-24 오후 6.38.05.png

이후에 ./gradlew bootRun 으로 실행하고나서 ,

테스트 케이스를 돌렸는데요 .

해당 영상 마지막에는 여러명응모 테스트 메서드가 통과라고 나오지만 저는 Actual : 0 으로 나옵니다.

 

스크린샷 2024-06-24 오후 6.37.55.png

 

답변 2

0

최상용님의 프로필 이미지
최상용
지식공유자

SJ 님 안녕하세요.
consumer 가 포함되어 있는 모듈을 실행시킨 상태로 테스트케이스를 실행시키신게 맞으실까요 ?

0

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

님의 프로젝트 구조 및 테스트 케이스 실패 관련 내용을 확인했습니다. Kotlin을 사용하여 여러 모듈로 구성된 프로젝트 내에서 테스트 케이스가 실패하는 상황이네요. 테스트 실패의 원인은 여러 가지가 있을 수 있습니다만, 제공된 정보만으로는 정확한 원인을 파악하기 어렵습니다.

하지만, 님의 경우는 여러 명 응모 테스트에서 기대값은 100인데 실제값이 0으로 나왔다고 하셨으므로, 여러 가지 가능성을 고려해 볼 수 있겠습니다.

  1. Consumer 모듈 설정 이슈: Kafka나 다른 메시징 시스템을 사용하는 경우, Consumer 설정 문제로 메시지를 올바르게 읽지 못해 처리 로직이 실행되지 않았을 수 있습니다.
  2. 데이터베이스 연동 이슈: 응모 테스트의 경우 데이터베이스에 대한 접근 및 업데이트가 동반되기 마련입니다. 트랜잭션이나 데이터베이스 연동 설정에 문제가 있을 경우, 올바른 데이터 처리가 이루어지지 않아 테스트가 실패할 수 있습니다.
  3. 테스트 환경 차이: 강의에서는 특정 환경에서 테스트가 통과하지만, 님의 환경에서는 추가적인 설정이나 의존성 문제로 인해 테스트 결과가 달라질 수 있습니다.

이러한 이슈를 해결하기 위해서는 다음과 같은 접근 방법을 추천합니다.

  • 로깅 강화: 실패하는 테스트 주변에 로깅을 추가하여, 실제 내부 상태와 흐름을 파악할 수 있도록 합니다.
  • 환경 비교: 강의 환경과 님의 환경의 차이를 점검해 보세요. Kafka 버전, 설정 파일, 엔티티 초기화 상태 등을 확인해 볼 필요가 있습니다.
  • 단계적 디버깅: Consumer 모듈을 시작부터 종료까지 단계적으로 디버깅하여, 예상대로 동작하지 않는 부분을 찾아냅니다.

이 과정에서 Spring Boot 또는 Kafka 관련 공식 문서를 참고할 수도 있습니다:

Spring Boot 테스트 자동 설정 관련:
- 문서 링크: Spring Boot Reference Documentation

Kafka Streams 관련 정보:
- 문서 링크: Kafka 3.6 Documentation

이 정보들이 문제 해결에 도움이 되기를 바랍니다.

SJ님의 프로필 이미지
SJ

작성한 질문수

질문하기