From 610635135189a62d05db1e93dee7d67a1b487854 Mon Sep 17 00:00:00 2001 From: ttipo Date: Mon, 2 Nov 2026 17:19:58 +0900 Subject: [PATCH] =?UTF-8?q?docs(rules):=20=EC=8B=9C=EA=B0=84=EB=8C=80?= =?UTF-8?q?=EB=8F=84=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=9E=85=EB=A0=A5=20?= =?UTF-8?q?=E2=80=94=20CI=20=EB=8A=94=20UTC,=20=EA=B0=9C=EB=B0=9C=20PC=20?= =?UTF-8?q?=EB=8A=94=20KST?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .claude/rules/testing.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.claude/rules/testing.md b/.claude/rules/testing.md index 802cf6e..8cb8308 100644 --- a/.claude/rules/testing.md +++ b/.claude/rules/testing.md @@ -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 제목)은 한국어로 "무엇을 검증하는지" 명확히 작성한다.