Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

와이어 프레임만 그려 빈약한 기획문서에 시간을 대부분 사용하는 과정을 가속화하는 방법으로 DDD에 이벤트 스토밍으로 소개되고 있습니다.DDD에이벤트 스토밍편에서 소개되는 내용으로

데이터중심이 아닌, 이벤트 중심 설계 특히 액터모델에 도메인을 녹이고자할때 도입되는 기법으로 , 개인해석에 의한 간소화 버전으로 이용해 보았습니다.

...

구현된 코드의 작동에 대한 설명은 이러하고 리액티브 웹소켓+액터모델을 통해 PUBSUB 구현된 코드를 이벤트 처리기 인터페이를

간략하게 먼저 살펴보고 유닛테스트를 RealTime으로 작동중인 로직코드의 유닛테스트 수행해보겠습니다.

UserSessionManager Actor

...

  • EventTextMessage가 올바르게 JSON으로 변환되어 WebSocket으로 전송되었는지 검증.

  • 실질적인 출력값을 비교함으로써 테스트의 신뢰도 향상.


🌟 장점 요약

항목장점
Mock 기반 테스트실제 네트워크 없이 WebSocket 동작을 검증할 수 있어 빠르고 안정적
비동기 메시지 처리 검증testProbe + Ping/Pong 패턴으로 액터의 처리 완료 타이밍을 명확하게 파악
직렬화 검증 포함객체가 예상한 JSON 형식으로 변환되어 메시지 전송되는지까지 검증
액터 기반 테스트 구조메시지 기반 설계가 잘 반영되어 있고, 액터의 상태 관리가 유연하게 테스트 가능
단일 책임 테스트세션 등록 → 메시지 전송 → 검증까지 각 흐름이 분리되어 명확

💡 개선 포인트 (보너스)

  • verify(session).send(...)도 함께 확인하면 실제 메시지 전송까지 테스트 가능

  • 예외 상황 (예: 존재하지 않는 세션에 메시지 보낼 때)도 추가하면 완전한 커버리지 확보

...