Skip to content

[Fix]#57 develop CI 실패: MissionRecommendationService 빈 이름 충돌 해소 - #60

Merged
Chhun-Lee merged 1 commit into
developfrom
fix/#57-bean-name-conflict
Sep 12, 2026
Merged

Chhun-Lee merged 1 commit into
developfrom
fix/#57-bean-name-conflict

Conversation

@Chhun-Lee

@Chhun-Lee Chhun-Lee commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor

#️⃣ 연관된 이슈

#57

📝 작업 내용

#58(FCM 푸시)과 #59(추천 미션 조회)가 각각 CI를 통과한 뒤 develop에서 합쳐지면서 빈 이름이 충돌해 develop CI가 깨졌습니다. domain.notification.service.MissionRecommendationService(#57, 스케줄러 진입점)와 domain.mission.service.MissionRecommendationService(#56, 조회 API)가 패키지만 다르고 클래스명이 같아 기본 빈 이름 missionRecommendationService가 겹쳤습니다(ConflictingBeanDefinitionException). 모든 @SpringBootTest가 컨텍스트 기동 단계에서 실패한 원인입니다.

변경 사항

  • 알림 도메인 쪽 클래스를 MissionRecommendationPushService로 이름 변경(테스트 클래스 포함). 허건우의 domain/mission 코드는 손대지 않음.
  • 로직·API·스키마 변경 없음.

💬 리뷰 요구사항

  • 패키지가 달라도 클래스명이 같으면 스프링 빈 이름이 겹칩니다. 앞으로 다른 도메인과 같은 클래스명을 피해야 해서 클래스 주석에 이유를 남겼습니다.

PR 전 필수 체크리스트

  • 관련 이슈를 연결했습니다.
  • 로컬에서 정상 동작을 확인했습니다.
  • 필요한 테스트를 수행했습니다.
  • Swagger/API 명세를 업데이트했습니다. (변경 없음)
  • 불필요한 로그 또는 주석을 제거했습니다.
  • 민감 정보가 포함되지 않았는지 확인했습니다.

테스트 결과

  • 단위 테스트 — 알림 도메인 + domain/mission의 MissionRecommendationServiceTest
  • 통합 테스트 — 알림 도메인 Testcontainers 4개 클래스 + SwaggerGroupCoverageTest(컨텍스트 기동 확인), 57개 통과
  • Postman 테스트
  • 직접 실행 확인

🤖 Generated with Claude Code

https://claude.ai/code/session_0136sZsWwNuKMYDppANVrSkx

Summary by CodeRabbit

  • 리팩터링
    • 미션 추천 알림 처리 구성의 명칭과 연결 관계를 정리했습니다.
    • 스케줄링 설정과 전체 대상 추천 알림 동작은 기존과 동일하게 유지됩니다.
    • 관련 테스트와 안내 주석을 새 구성에 맞게 업데이트했습니다.
    • 사용자에게 제공되는 미션 추천 알림 기능의 동작에는 변경이 없습니다.

@coderabbitai

coderabbitai Bot commented Sep 12, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 00218b55-2ba1-4e91-acf7-60ad5e8d5829

📥 Commits

Reviewing files that changed from the base of the PR and between b97c553 and b905d3f.

📒 Files selected for processing (4)
  • src/main/java/com/quespot/domain/notification/scheduler/MissionRecommendationScheduler.java
  • src/main/java/com/quespot/domain/notification/service/MissionRecommendationNotifier.java
  • src/main/java/com/quespot/domain/notification/service/MissionRecommendationPushService.java
  • src/test/java/com/quespot/domain/notification/service/MissionRecommendationPushServiceTest.java

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

알림 추천 서비스의 이름을 MissionRecommendationPushService로 변경했습니다. 스케줄러, 주석, 테스트가 새 이름을 사용하도록 갱신되었습니다. 스케줄 설정과 추천 실행 로직은 유지됩니다.

Changes

알림 추천 서비스 이름 변경

Layer / File(s) Summary
Push 서비스 클래스 및 테스트 갱신
src/main/java/com/quespot/domain/notification/service/MissionRecommendationPushService.java, src/main/java/com/quespot/domain/notification/service/MissionRecommendationNotifier.java, src/test/java/com/quespot/domain/notification/service/MissionRecommendationPushServiceTest.java
서비스 클래스와 테스트가 MissionRecommendationPushService 이름을 사용합니다. 주석의 서비스 이름도 갱신되었습니다.
스케줄러 연결부 갱신
src/main/java/com/quespot/domain/notification/scheduler/MissionRecommendationScheduler.java
스케줄러가 새 서비스 타입을 주입하고 recommendToAll()을 호출합니다. cron, zone, 메서드명은 유지됩니다.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to b905d

The change only resolves the Spring bean naming collision, with no remaining merge-blocking risk identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 4 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목은 MissionRecommendationService의 Spring 빈 이름 충돌을 해결하는 주요 변경 사항을 정확히 설명합니다. 제목은 변경 목적과 관련 오류를 명확하게 전달합니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/#57-bean-name-conflict

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Chhun-Lee
Chhun-Lee merged commit fdf9105 into develop Sep 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant