Skip to content

웹소켓 테스트 #662

@leekangho0

Description

@leekangho0

연결 성공

  • 셋업: Mock WebSocket이 open 이벤트 바로 발생하도록 설정
  • 액션: client.connect()
  • 기대: onOpen 콜백이 호출되고 client.isConnected === true

연결 끊김 시 자동 재연결 (단순)
-셋업: 연결 후 Mock WebSocket에서 close 이벤트 발생(비정상 코드)
-액션: 클라이언트가 자동 재연결 로직을 수행

  • 기대: 재연결 시도(start) 호출, reconnectionAttempt 이벤트 발생

수동으로 close() 호출했을 때 재연결 중단

  • 셋업: 자동 재연결 도중(또는 재연결 예정)인 상태
    -액션: client.close(force=true) 또는 client.disconnect()
    -기대: 재연결 타이머 취소, 더 이상 reconnect 시도 없음

잘못된/파싱 불가 메시지 처리
셋업: onmessage로 비정상 문자열 또는 손상된 JSON 전송
액션: client.onmessage callback
기대: 예외가 외부로 터지지 않고, 에러 로깅/콜백 호출(예: onMalformedMessage) 및 처리가 안전하게 이뤄짐

구독/구독취소 (subscribe/unsubscribe) 복원
셋업: 연결 시점에 구독 메시지 전송이 요구되는 경우
액션: 재연결 후 자동으로 이전 구독 상태 복원하는지 확인
기대: 재연결 후 서버에 구독 메시지 재전송

동시성/레이스: connect()를 여러번 호출
셋업: 여러번 connect() 호출(병렬)
액션: connect() 중복 호출
기대: 내부적으로 중복 연결 시도 방지(한 번만 connect 시도), 상태가 일관됨

heartbeat / ping-pong (구현된 경우)
셋업: heartbeat interval 설정
액션: 일정 시간 동안 응답 없음 → 서버에서 ping/pong 이벤트 발생 또는 타임아웃 발생
기대: ping/pong 타임아웃 시 재연결 트리거
작업 우선순위

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    완료

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions