docs: remove review test files
- Delete CODE_REVIEW_REVIEW_TEST.md - Delete IMPROVEMENT_PLAN_REVIEW_TEST.md
This commit is contained in:
parent
7f8771b89e
commit
0736a87928
2 changed files with 0 additions and 170 deletions
|
|
@ -1,58 +0,0 @@
|
|||
# 테스트 보강 리뷰 후속 코드리뷰 참고문서
|
||||
|
||||
## 작업 배경
|
||||
|
||||
`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 동작을 검증한다.
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
# 테스트 보강 코드리뷰 후속 작업계획서
|
||||
|
||||
## 개요
|
||||
|
||||
`IMPROVEMENT_PLAN_TEST.md` 기반 테스트 추가 작업에 대한 코드리뷰 결과, 두 가지 후속 수정이 필요하다.
|
||||
|
||||
---
|
||||
|
||||
## 개선 항목
|
||||
|
||||
### [Review-1] Dart 서버 print() 제거 ⭐ 필수
|
||||
|
||||
**문제**
|
||||
|
||||
이전 Dart 개선 작업([Dart-4])에서 라이브러리 코드의 `print()`를 제거했으나 서버 파일 두 곳이 누락됐다.
|
||||
|
||||
```dart
|
||||
// protobuf_server.dart:69
|
||||
void onDisconnectedClient(ProtobufClient client) {
|
||||
_clientList.remove(client);
|
||||
client.dispose();
|
||||
print('Client disconnected'); // ← 제거 대상
|
||||
}
|
||||
|
||||
// ws_protobuf_server.dart:70
|
||||
void onDisconnectedClient(WsProtobufClient client) {
|
||||
_clientList.remove(client);
|
||||
client.dispose();
|
||||
print('WS Client disconnected'); // ← 제거 대상
|
||||
}
|
||||
```
|
||||
|
||||
파일 상단의 `// ignore_for_file: avoid_print` suppress 주석도 함께 삭제한다.
|
||||
|
||||
**수정 파일**
|
||||
- `dart/lib/src/protobuf_server.dart`
|
||||
- 1행 `// ignore_for_file: avoid_print, prefer_final_fields` → `// ignore_for_file: prefer_final_fields`
|
||||
- `print('Client disconnected')` 한 줄 제거
|
||||
- `dart/lib/src/ws_protobuf_server.dart`
|
||||
- 1행 `// ignore_for_file: avoid_print, prefer_final_fields` → `// ignore_for_file: prefer_final_fields`
|
||||
- `print('WS Client disconnected')` 한 줄 제거
|
||||
|
||||
**검증**
|
||||
|
||||
```bash
|
||||
cd dart && dart analyze && dart test
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### [Review-2] Go 서버 종료 테스트 — 이중 Stop() 명확화 ⭐ 선택
|
||||
|
||||
**문제**
|
||||
|
||||
`TestTcpServerStopDisconnectsClients`와 `TestWsServerStopDisconnectsClients`에서 `server.Stop()`이 두 번 호출된다.
|
||||
|
||||
```go
|
||||
defer server.Stop() // ← defer 등록
|
||||
|
||||
// ... 테스트 본문 ...
|
||||
|
||||
if err := server.Stop(); err != nil { // ← 명시적 호출
|
||||
t.Fatal(err)
|
||||
}
|
||||
```
|
||||
|
||||
테스트 목적상 `Stop()` 이후 disconnect 콜백이 울리는지를 검증하는 것이 핵심이므로, `defer server.Stop()`은 불필요하다. 오히려 이중 호출이 `Stop()` 멱등성에 의존하는 것처럼 읽혀 의도를 흐린다.
|
||||
|
||||
**해결 방법**
|
||||
|
||||
`defer server.Stop()`을 제거한다. 명시적 `server.Stop()` 호출 이후 서버는 이미 중단 상태이므로 teardown 역할은 필요 없다.
|
||||
|
||||
```go
|
||||
// defer server.Stop() ← 제거
|
||||
|
||||
// ...
|
||||
|
||||
if err := server.Stop(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
```
|
||||
|
||||
**수정 파일**
|
||||
- `go/test/tcp_test.go` — `TestTcpServerStopDisconnectsClients` 내 `defer server.Stop()` 제거
|
||||
- `go/test/ws_test.go` — `TestWsServerStopDisconnectsClients` 내 `defer server.Stop()` 제거
|
||||
|
||||
**검증**
|
||||
|
||||
```bash
|
||||
cd go && go test ./test/... -run "TestTcpServerStopDisconnectsClients|TestWsServerStopDisconnectsClients" -v
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 우선순위
|
||||
|
||||
| 우선순위 | 항목 | 이유 |
|
||||
|---------|------|------|
|
||||
| 1 | Review-1 (print 제거) | 라이브러리 코드에 로그가 남는 버그. analyze 경고 발생 |
|
||||
| 2 | Review-2 (이중 Stop 정리) | 기능 문제 아님. 가독성 개선 |
|
||||
|
||||
---
|
||||
|
||||
## 최종 검증
|
||||
|
||||
```bash
|
||||
# Go
|
||||
cd go && go test ./test/... -v
|
||||
|
||||
# Dart
|
||||
cd dart && dart analyze && dart test
|
||||
```
|
||||
Loading…
Reference in a new issue