테스트 최적화은(는) 무엇을 하나요?
목표: 커버리지를 유지하면서 실제 OpenClaw 테스트/런타임 속도 향상. 주요 해결책으로 셔드 추가, 어설션 건너뛰기, 게이트 약화 또는 러너 플래그 조정은 하지 마세요.
실행 절차
docs/help/testing.md,docs/ci.md, 그리고 편집할 서브트리의 관련AGENTS.md파일을 읽으세요.- 편집 전에 증거를 확보하세요:
- 전체 순위:
pnpm test:perf:groups --full-suite --allow-failures --output .artifacts/test-perf/<name>.json - 대상 파일:
timeout 240 /usr/bin/time -l pnpm test <file> --maxWorkers=1 --reporter=verbose - 임포트 의심:
OPENCLAW_VITEST_IMPORT_DURATIONS=1 OPENCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1추가
- 전체 순위:
- 수익이 높은 핫스팟부터 공략하세요:
- 넓은 배럴 또는 핫 테스트에서의
importActual() - 테스트별
vi.resetModules()및 새로운 임포트 - 재설정/재사용이 동일한 동작을 입증하는 비싼 게이트웨이/서버/클라이언트 설정
- 확장 소유 동작을 어설션하는 코어 테스트
- 중복된 픽스처 생성 또는 계약 어설션
- 넓은 배럴 또는 핫 테스트에서의
- 생산 품질 수정을 선호하세요:
- 광범위한 목보다는 좁은 런타임 경계
- 정적 파싱/메타데이터를 위한 순수 헬퍼
- 모듈 리셋보다는 주입된 의존성
- 번들된 플러그인/프로바이더/채널 동작을 위한 확장 소유 테스트
- 각 변경 후, 동일한 벤치마크와 입증용 테스트 레인을 재실행하세요. 가능한 경우 before/after wall time, Vitest 지속 시간, 최대 RSS를 기록하세요.
pnpm check:changed를 실행하세요. 영향을 받는 표면이 필요할 경우 더 넓은 게이트(pnpm check,pnpm test,pnpm build)를 실행하세요.scripts/committer "<conventional message>" <paths...>로 범위 변경을 커밋하세요. 요청 시 푸시하세요. CI가 빨간색이면gh run list/view로 검사하고, 수정하고, 푸시하고, 현재 CI가 초록색이거나 블로커가 관련 없는 것으로 입증될 때까지 반복하세요.
출력
푸시된 커밋, before/after 타이밍, 실행된 게이트, 현재 CI 상태, 그리고 별도 최적화가 필요한 남은 테일 레인으로 마무리하세요.