- Dart: Replace ResponseChecker with HeartbeatMixin - Dart: Remove heartbeat-related fields from ProtobufClient/Server - Dart: Add HeartbeatMixin for cleaner heartbeat logic - Go: Add timeout test in communicator_test.go - Go: Add heartbeat_test.go with heartbeat functionality tests - Go: Add TLS test in tls_test.go - Go: Add message type mismatch tests - Go: Improve tcp_test.go and ws_test.go with comprehensive tests - Dart: Add comprehensive socket_test.dart with multiple test scenarios - Add untracked documentation files
2 KiB
2 KiB
테스트 보강 리뷰 후속 코드리뷰 참고문서
작업 배경
IMPROVEMENT_PLAN_REVIEW_TEST.md에 정리된 테스트 보강 리뷰 후속 항목을 반영했다. 핵심은 Dart 라이브러리 코드에 남아 있던 print() 제거와, Go 서버 종료 테스트에서 테스트 의도를 흐리는 중복 Stop() 호출 정리다.
변경 요약
Dart 서버 로그 제거
-
dart/lib/src/protobuf_server.dart- 파일 상단
avoid_printsuppress 제거. onDisconnectedClient의print('Client disconnected')제거.
- 파일 상단
-
dart/lib/src/ws_protobuf_server.dart- 파일 상단
avoid_printsuppress 제거. onDisconnectedClient의print('WS Client disconnected')제거.
- 파일 상단
라이브러리 코드가 disconnect 이벤트마다 stdout에 직접 로그를 남기지 않도록 정리했다.
Go 서버 종료 테스트 정리
-
go/test/tcp_test.goTestTcpServerStopDisconnectsClients내부의defer server.Stop()제거.
-
go/test/ws_test.goTestWsServerStopDisconnectsClients내부의defer server.Stop()제거.
두 테스트는 본문에서 명시적으로 server.Stop()을 호출하고 그 결과로 client disconnect 콜백이 호출되는지 검증한다. 따라서 별도 deferred stop을 제거해 테스트 의도를 더 분명하게 만들었다.
검증 결과
cd dart
dart analyze
결과: 통과. No issues found!
cd dart
dart test
결과: 통과. 총 39개 테스트 통과.
cd go
PATH=/config/go-sdk/go/bin:/config/go/bin:$PATH GOCACHE=/tmp/go-build GOMODCACHE=/tmp/go-mod go test ./test/... -v
결과: 통과.
리뷰 포인트
- Dart 서버 코드에서
print()호출은 제거됐고, 관련avoid_printignore도 함께 제거됐다. - Go의 다른 테스트에 있는
defer server.Stop()은 각 테스트의 일반 teardown 역할이므로 유지했다. TestTcpServerStopDisconnectsClients,TestWsServerStopDisconnectsClients는 명시적server.Stop()호출 하나만으로 disconnect 동작을 검증한다.