state management 관리를 예로 Jest
, Typescript
, Mocha
등등 logic testing을 하기 위한 라이브러리들이 많은데, 정작 프론트엔드에서 View(UI)를 테스트? 하는 라이브러리에는 등한시하다.
Component
를 Isolated 된 환경에서 개발하나의 스토리는 다른 스토리와 완전히 독립된 state
를 가지고 있기 때문에 컴포넌트 단위 개발 / 테스트가 가능하다. 스토리북을 사용하다보면 어쩔 수 없이 presentational component
/ container component
를 나누어 설계할 수 밖에 없어진다. 이로 인해서 functional
한 코드를 짜게 어느정도 강제 된다.
기존 hot-loader
를 이용해서 save 할 때마다 어느정도 interactive 하게 개발을 하지만 mockState
를 적용하면서 개발을 할 수 있다.
입력 폼 페이지를 예로 입력이 안되었을 때, validation
통과가 되지 않았을 때, 성공했을 때 등의 view
를 보기 쉽다. 디자이너와 기획자에게 보여주기 좋다.
테스트를 하기 위해서 강요되는 flow가 필요 없어진다.
예를 들어 환불하는 작업을 한다고 하면
로그인 → 내 정보 보러가기 → 환불 탭 클릭 → 등등
참조) storybook 의 좋은점
https://www.youtube.com/watch?v=KnROzZ5Vszg&ab_channel=DongwooGimDongwooGim
StoryBook사용법