docs(rules): 시간대도 테스트 입력 — CI 는 UTC, 개발 PC 는 KST
CI (Flutter) / Flutter (analyze · test) (pull_request) Successful in 20m45s
CI / Backend (lint · type-check · test · e2e · build) (pull_request) Successful in 13m40s
CI / Frontend (lint · type-check · test · build) (pull_request) Successful in 13m8s
CI / Infra (compose · Dockerfile · nginx · 운영 스크립트) (pull_request) Successful in 1m57s
CI / 에러 코드 SSOT 동기화 검사 (pull_request) Successful in 11m20s
CI (Flutter) / Flutter (analyze · test) (push) Successful in 20m14s
CI / Backend (lint · type-check · test · e2e · build) (push) Successful in 13m42s
CI / Frontend (lint · type-check · test · build) (push) Successful in 12m31s
CI / Infra (compose · Dockerfile · nginx · 운영 스크립트) (push) Successful in 1m50s
CI / 에러 코드 SSOT 동기화 검사 (push) Successful in 10m48s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit was merged in pull request #10.
This commit is contained in:
2026-11-02 17:19:58 +09:00
parent a7b9d00931
commit 6106351351
+4
View File
@@ -18,6 +18,10 @@ description: 세 스택 공통 테스트 규칙 — 테스트 위치/네이밍,
평소의 4~7배 — 여유가 3~6배뿐이던 한도 두 곳이 CI 를 실패시켰다). 막으려는 옛 경로(제곱 등)는 그 한도를 확실히 넘어야 한다 — 둘 사이가 좁으면 입력을 키운다.
벽시계는 다른 작업이 CPU 를 나눠 쓰면 몇 배로 늘어 CI 에서 흔들린다 (2026-10-27: 혼자 0.8초인 정화가 부하에서 9초).
비동기 결과를 기다릴 때도 고정 대기(`setTimeout(20)`) 대신 조건이 될 때까지 짧게 다시 보고 넉넉한 기한을 둔다.
- **시간대도 입력이다** — CI 는 UTC, 개발 PC 는 KST 다. 화면에 보이는 시각 · 날짜 글("오늘 오전 9:12")을 글자 그대로 보는 테스트는
시각을 지역 시각으로 만들거나(`new Date(2026, 9, 31, 9, 12)`) 포매터에 시간대를 넘긴다(frontend `format.spec.ts` 의 `SEOUL`).
UTC 로 적은 고정값(`'2026-10-31T00:12:00Z'`)은 KST 에서만 그 글이 된다(2026-11-02 — 12단계 테스트 셋이 CI 에서만 실패).
시각을 보이는 화면을 고쳤으면 UTC 로도 돌려 본다(Git Bash — `TZ=UTC npm run test:unit -- --run`).
- **커밋 전 실행** — 변경 영역의 테스트가 통과해야 한다. ([[checklist]])
- **CI 가 강제한다** — `.github/workflows/ci.yml` 이 세 스택의 lint·test·build 와 에러 코드 동기화를 PR 마다 검사한다.
- 테스트 설명(it/test 제목)은 한국어로 "무엇을 검증하는지" 명확히 작성한다.