Skip to content

test: 매칭 복구 흐름 외 클라이언트 경계에 EditMode 테스트가 없다 #466

Description

@dev-yunseong

현재 상태

Assets/Tests에 PR #458이 추가한 reducer EditMode 테스트 3개가 있다. 그 외 서버 계약을 다루는 코드에는 테스트가 없다.

PR #458은 Unity 테스트를 실행하지 못한 채 올라갔다. Windows Unity가 WSL의 case-sensitive 파일시스템을 거부해 import/compile 전에 중단된다.

해야 할 일

1. 실행 환경 확보 (선행)

테스트를 늘리기 전에 돌릴 수 있는 경로부터 만든다. 다음 중 하나를 정하고 근거를 PR에 적는다.

  • 저장소를 Windows 네이티브 경로에 두고 작업
  • Unity Linux 에디터를 WSL에 설치해 -runTests -testPlatform EditMode 헤드리스 실행
  • CI(GitHub Actions)에서만 실행하고 로컬은 컴파일 검사까지만

이게 안 되면 아래 테스트를 추가해도 아무도 실행하지 않는다.

2. 커버리지

  • 서버 DTO 역직렬화: MatchTicket 스냅샷, SessionReadyResponse, MatchedInfoDto. lobby가 실제로 보내는 JSON 픽스처를 그대로 넣어 검증한다 (lobby 쪽 대응 이슈: test: lobby와 game 사이 JSON 계약이 양쪽 모두에서 검증되지 않는다 WordOnlineMatching#91).
  • MatchmakingCoordinator의 상태 전이: version 역행 무시, SSE 끊김 후 snapshot 복구, 취소 요청과 실제 취소 결과의 분리.
  • PR #452가 도입한 Newtonsoft 다형성 파싱: 알 수 없는 타입 태그를 만났을 때의 동작.

참고

base 브랜치는 feature/457. MatchmakingCoordinator가 그 브랜치에만 있다.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions