# 테스트 보강 리뷰 후속 코드리뷰 참고문서 ## 작업 배경 `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 동작을 검증한다.