Skip to content
Development
Skill

/setup-test

프론트엔드 프로젝트에 테스트 환경을 초기 세팅합니다. 프로젝트 구조를 자동 감지하여 jest/vitest 설정, customRender, MSW 등을 구성합니다.

From plugin
code-forge
1323 skills58 agents11 hooks2 MCP
Install
$ npx -y skills add ggombee/code-forge --skill setup-test --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/setup-test

Context preview

The summary Claude sees to decide when to auto-load this skill.

프론트엔드 프로젝트에 테스트 환경을 초기 세팅합니다. 프로젝트 구조를 자동 감지하여 jest/vitest 설정, customRender, MSW 등을 구성합니다.

SKILL.md

setup-test.SKILL.md
name: setup-test
description: 프론트엔드 프로젝트에 테스트 환경을 초기 세팅합니다. 프로젝트 구조를 자동 감지하여 jest/vitest 설정, customRender, MSW 등을 구성합니다.
category: setup
user-invocable: false

/setup-test

테스트 환경이 없는 프로젝트에 초기 세팅을 수행합니다.

실행 워크플로우

Step 1: 프로젝트 분석

다음을 자동 감지합니다:

1. **프레임워크 감지:**

  • `next.config.*` -> Next.js
  • `vite.config.*` -> Vite
  • `react-scripts` in package.json -> CRA
  • 기타 -> 일반 React

2. **기존 테스트 환경 확인:**

  • `jest.config.*` / `vitest.config.*` 존재 여부
  • package.json에 test 스크립트 존재 여부
  • `@testing-library/react` 설치 여부
  • MSW 설치 여부

3. **상태 관리 / Provider 구조 분석:**

  • `_app.tsx` / `_app.js` 읽기 -> Provider 트리 파악
  • `Provider/` 디렉토리 탐색
  • package.json에서 jotai, recoil, zustand, react-query 등 확인

4. **사용자에게 분석 결과 보고 후 진행 여부 확인:**

   프로젝트 분석 결과:
   - 프레임워크: Next.js 13 (Pages Router)
   - 테스트 러너: 미설정 -> jest 권장
   - 상태 관리: jotai, react-query
   - Provider: QueryClientProvider, JotaiProvider

   다음 항목을 세팅하겠습니다:
   1. jest + @testing-library/react + MSW 패키지 설치
   2. jest.config.js 생성
   3. jest.setup.js 생성
   4. customRender 유틸리티 생성
   5. MSW 핸들러 구조 생성
   6. package.json test 스크립트 추가

   진행할까요?

Step 2: 패키지 설치

**jest 기반 (Next.js, CRA):**

yarn add -D jest @testing-library/react @testing-library/jest-dom @testing-library/user-event jest-environment-jsdom @types/jest msw identity-obj-proxy

Next.js 프로젝트 추가:

yarn add -D jest-next-dynamic

**vitest 기반 (Vite):**

yarn add -D vitest @testing-library/react @testing-library/jest-dom @testing-library/user-event jsdom @types/jest msw

Step 3: 설정 파일 생성

**jest.config.js** (Next.js 예시):

  • moduleNameMapper: path alias (@/, @shared/ 등) 매핑
  • testEnvironment: jsdom
  • setupFilesAfterSetup: jest.setup.js
  • transformIgnorePatterns: node_modules 중 ESM 모듈 처리
  • moduleFileExtensions: js, jsx, ts, tsx

**jest.setup.js:**

  • `@testing-library/jest-dom` import
  • 전역 mock 설정 (next/router, next/dynamic, SVG, CSS 등)
  • MSW server setup/teardown
  • window.matchMedia mock

Step 4: customRender 생성

`__tests__/utils/customRender.tsx` (또는 `src/test/customRender.tsx`):

프로젝트의 Provider 구조를 분석하여 생성합니다:

  • QueryClientProvider (react-query 사용 시)
  • RecoilRoot (recoil 사용 시)
  • JotaiProvider (jotai 사용 시, 필요한 경우)
  • FormProvider (react-hook-form 사용 시)
  • 기타 프로젝트 커스텀 Provider

Step 5: MSW 핸들러 구조 생성

src/mocks/
├── server.ts          # MSW setupServer
├── handlers/
│   └── index.ts       # 핸들러 모음
└── browser.ts         # (선택) 브라우저용 setupWorker

Step 6: package.json 스크립트 추가

{
  "scripts": {
    "test": "jest --watchAll",
    "test:ci": "jest --ci --coverage"
  }
}

Step 7: 검증

간단한 샘플 테스트를 실행하여 환경이 올바르게 구성되었는지 확인합니다:

yarn test --watchAll=false

주의사항

  • 이미 테스트 환경이 구성된 프로젝트에서는 기존 설정을 덮어쓰지 않고, 누락된 부분만 보완합니다.
  • path alias 매핑은 프로젝트의 tsconfig.json / jsconfig.json을 참고하여 생성합니다.
  • 패키지 매니저는 프로젝트의 lock 파일을 확인하여 자동 결정합니다 (yarn.lock -> yarn, package-lock.json -> npm, pnpm-lock.yaml -> pnpm).
Read more
Ships withcode-forge

설치하면 Claude Code가 더 잘 동작합니다. 전문 에이전트, 슬래시 스킬, 스택 모듈을 제공하는 Claude Code 플러그인. 검증된 사고모델(GROUND→APPLY→VERIFY→ADAPT)이 모든 작업의 품질을 일관되게 유지합니다. (에이전트/스킬 개수는 디스크가 진실 — ls agents/.md | wc -l, ls skills//SKILL.md | wc -l) 현재 상태: 개인 GitHub 운영 중 (마켓플레이스 배포 4.10.0).

Get the whole plugin

Other skills on code-forge.

debate
Skill

debate

교차 모델 토론. Agent Teams / Codex CLI / self-debate 모드 선택. 설계 결정, 아키텍처 선택 시 활용. "어느 쪽이 나을까", "설계 비교해줘", "토론시켜줘", "교차 검증해줘" 등의 요청에 사용.

e2e
Skill

e2e

화면 단위 E2E 테스트 자동화. Figma/코드 기반 테스트 케이스 도출 → Playwright 코드 생성 → Forge Loop(에스컬레이션 기반 자율 실행). "E2E 돌려줘", "화면 테스트 만들어줘", "이 페이지 자동 테스트" 등의 요청에 사용.