--- name: dev-test-gate description: 개발/리팩토링 후 lint·build·Playwright 스모크 테스트를 실행하고 실패 원인을 정리하는 검증 스킬. 최종 품질 게이트 단계에서 사용하며, 구현 자체를 대체하지 않는다. --- # Dev Test Gate ## 목표 - 변경 사항의 안정성을 빠르게 확인한다. - 실패 원인과 영향 범위를 짧고 명확하게 남긴다. ## 공통 기준 1. 결과 보고는 한국어로 작성한다. 2. 테스트 결과는 주니어도 이해 가능하게 쉬운 말로 정리한다. 3. 테스트 생략은 원칙적으로 금지하고, 불가한 경우 사유와 대체 검증을 남긴다. ## 테스트 순서 1. 정적 검사: `npm run lint` 2. 빌드 검사: `npm run build` 3. 개발 서버 실행: `npm run dev` (기본 포트 3001) 4. 런타임 확인: 핵심 화면 로드와 기본 동작 확인 5. Playwright 스모크 테스트(기본): 핵심 화면 간단 확인을 반드시 수행 6. 사용자 요청 테스트가 있으면 해당 테스트를 추가 실행한다. ## Playwright 스모크 기본 규칙 1. 핵심 화면 3종을 기본 대상으로 잡는다. 2. 화면 타입은 아래 기준으로 고른다. - 서비스 진입 화면 1개 - 핵심 기능 화면 1개 - 설정/인증 관련 화면 1개 3. 각 화면에서 최소 항목을 확인한다. - 페이지 로드 성공 - 치명 오류 문구/콘솔 에러 없음 - 핵심 버튼 또는 입력 요소 1개 이상 상호작용 가능 ## 검증 보강 규칙 1. UI 변경이 있으면 브랜드 토큰(`brand-*`, `primary`) 적용 여부를 함께 점검한다. 2. KIS API 연동 변경이 있으면 계좌/인증/오류 처리 기본 시나리오를 스모크 범위에 포함한다. 3. 리팩토링 요청이면 구조 점검을 추가한다. - `FEATURE_ROOT`가 목표 구조(`apis/components/hooks/stores/types`)를 따르는지 확인 - 파일 이동 후 진입점 import 경로가 깨지지 않았는지 확인 - 불필요한 `index.ts` 배럴 파일 잔존 여부를 확인 ## common-docs 연계 검증 규칙 1. KIS 연동 파일 변경 시 아래를 점검한다. - `kis_api_reference.md` 기준 엔드포인트/흐름이 크게 어긋나지 않는지 확인 - `kis-error-code-reference.md` 기준 `msg_cd + 문구` 표시 흐름 유지 확인 2. `features/trade/data/korean-stocks.json` 또는 동기화 스크립트 변경 시 - `npm run sync:stocks:check`를 추가 실행한다. 3. 전역 알림 관련 파일(`features/layout/hooks/use-global-alert.ts`, `GlobalAlertModal`) 변경 시 - 핵심 시나리오(성공 알림 1건, 확인 모달 1건)를 스모크 검증에 포함한다. 4. `features-autotrade-design.md`는 테스트 기준 문서에서 제외한다. ## 실패 처리 규칙 1. 실패 로그에서 직접 원인 라인을 먼저 찾는다. 2. 원인 수정 후 같은 테스트를 재실행한다. 3. 연쇄 실패(한 수정으로 여러 실패)가 있으면 우선순위를 나눠 정리한다. 4. 시간/환경 제한으로 테스트를 못 돌리면 이유와 대체 검증을 반드시 기록한다. ## 출력 템플릿 ```md [테스트 결과] - lint: 통과/실패 - build: 통과/실패 - playwright smoke: 통과/실패 - common-docs 연계 검증: 통과/실패 - 추가 테스트: ... [실패 및 조치] - ... [최종 상태] - 배포 가능/보류 ``` ## 완료체크 인계 규칙 1. 테스트 결과는 `dev-plan-completion-checker`에 그대로 전달한다. 2. 전달 형식은 아래 4줄을 포함한다. - lint 결과 - build 결과 - playwright smoke 결과 - 생략/실패 사유 및 대체 검증