Storybook Study 4week

Hyor·2025년 4월 25일
post-thumbnail

테스트

테스트의 중요성

  • 복잡한 컴포넌트 상태 조합을 수작업으로 검토하는 것은현실적으로 불가능하여 UI 버그 방지와 유지보수 효율성을 위해 자동 테스트 필요

시각적 테스트(Chromatic)

  • UI 외관의 변경 여부를 감지.
  • 기준 스크린샷과 변경 스크린샷 비교 → 차이 발생 시 알림.
  • 수동 리뷰 시간 절약, UI 회귀 방지.

단위 테스트(Jest + React Testing Library 등)

  • 컴포넌트의 기능 테스트.
  • Link 컴포넌트가 올바른 href를 갖는지 테스트.
  • CI 파이프라인에서 자동 실행 설정 가능.

접근성 테스트(Storybook의 @storybook/addon-a11y)

  • 장애가 있는 사용자도 사용할 수 있도록 UI를 검증.

기타 테스트 전략

  • 스냅샷 테스트(jest)
    • 컴포넌트의 마크업을 저장/비교
    • 예측 불가, 유지보수 어려움
  • E2E 테스트(Selenium, Cypress, playwrite)
    • 사용자 플로우 테스트
    • 복잡한 컴포넌트에만 제한적 활용 가능

문서

디자인 시스템은 컴포넌트 재사용을 통해 개발 비용을 절감할 수 있지만 재사용되지 않으면 의미 없음 → 문서화는 재사용을 촉진하는 핵심 수단.

문서화의 어려움

기능 추가와 동시에 문서 유지보수는 번거롭고 비효율적이며 대부분 문서는 빠르게 구식이 되어 신뢰도가 떨어짐 → 컴포넌트 재사용 저해.

문서화의 이상적인 조건

  • 🔄최신 상태 유지
  • ✍️글쓰기를 용이하게 하기 위한 마크다운과 같은 친숙한 쓰기 도구를 사용
  • ⚡️유지보수 시간 단축을 통해 팀이 글쓰기에만 집중 가능한 환경 조성
  • 📐상용구 기능을 제공하여 개발자가 공통 패턴을 재작성 하는 것을 방지
  • 🎨맞춤형 기능을 제공하여 유난히 복잡한 유즈 케이스 및 컴포넌트를 위한 유용성 제공

Storybook을 활용한 자동 문서화

Storybook Docs 애드온 사용 시, 기존 스토리에서 자동으로 문서를 생성 가능.

Canvas 탭: 컴포넌트 개발 환경
Docs 탭: 자동 생성된 문서(미리보기, 소스 코드, 인자 테이블 등)를 제공.

JSDoc 주석, PropTypes 주석을 통해 인자 설명 추가가능

MDX 기반 고급 문서화

MDX를 사용하면 문서의 구조, 순서, 내용 완전 제어 가능.

📚 문서 중심 페이지 작성
Intro.stories.mdx와 같은 독립 문서 페이지를 만들어 소개 및 가이드 문서 제공.

.storybook/main.js에서 로드 순서 제어로 첫 화면에 노출 가능.

온라인 퍼블리싱

build-storybook --docs 명령어로 배포 전용 문서 빌드 가능.

배포

배포 섹션은 실습위주 내용이라 정리하지 않습니다.

작업 흐름(workflow)

단계설명
1. 설계새로운 컴포넌트 정의 및 Story 작성
2. 문서화자동 Docs + PropTypes로 문서 보완
3. 리뷰PR + Storybook 링크로 협업 리뷰
4. 테스트Chromatic으로 시각적 회귀 테스트
5. 배포Auto + GitHub Actions로 자동 배포

참고

profile
개발 노트

0개의 댓글