- 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
58 lines
2 KiB
Markdown
58 lines
2 KiB
Markdown
# 테스트 보강 리뷰 후속 코드리뷰 참고문서
|
|
|
|
## 작업 배경
|
|
|
|
`IMPROVEMENT_PLAN_REVIEW_TEST.md`에 정리된 테스트 보강 리뷰 후속 항목을 반영했다. 핵심은 Dart 라이브러리 코드에 남아 있던 `print()` 제거와, Go 서버 종료 테스트에서 테스트 의도를 흐리는 중복 `Stop()` 호출 정리다.
|
|
|
|
## 변경 요약
|
|
|
|
### Dart 서버 로그 제거
|
|
|
|
- `dart/lib/src/protobuf_server.dart`
|
|
- 파일 상단 `avoid_print` suppress 제거.
|
|
- `onDisconnectedClient`의 `print('Client disconnected')` 제거.
|
|
|
|
- `dart/lib/src/ws_protobuf_server.dart`
|
|
- 파일 상단 `avoid_print` suppress 제거.
|
|
- `onDisconnectedClient`의 `print('WS Client disconnected')` 제거.
|
|
|
|
라이브러리 코드가 disconnect 이벤트마다 stdout에 직접 로그를 남기지 않도록 정리했다.
|
|
|
|
### Go 서버 종료 테스트 정리
|
|
|
|
- `go/test/tcp_test.go`
|
|
- `TestTcpServerStopDisconnectsClients` 내부의 `defer server.Stop()` 제거.
|
|
|
|
- `go/test/ws_test.go`
|
|
- `TestWsServerStopDisconnectsClients` 내부의 `defer server.Stop()` 제거.
|
|
|
|
두 테스트는 본문에서 명시적으로 `server.Stop()`을 호출하고 그 결과로 client disconnect 콜백이 호출되는지 검증한다. 따라서 별도 deferred stop을 제거해 테스트 의도를 더 분명하게 만들었다.
|
|
|
|
## 검증 결과
|
|
|
|
```bash
|
|
cd dart
|
|
dart analyze
|
|
```
|
|
|
|
결과: 통과. `No issues found!`
|
|
|
|
```bash
|
|
cd dart
|
|
dart test
|
|
```
|
|
|
|
결과: 통과. 총 39개 테스트 통과.
|
|
|
|
```bash
|
|
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_print` ignore도 함께 제거됐다.
|
|
- Go의 다른 테스트에 있는 `defer server.Stop()`은 각 테스트의 일반 teardown 역할이므로 유지했다.
|
|
- `TestTcpServerStopDisconnectsClients`, `TestWsServerStopDisconnectsClients`는 명시적 `server.Stop()` 호출 하나만으로 disconnect 동작을 검증한다.
|