September 12, 2020
Storybook Tutorial에서 제시하는 테스트는 크게 세가지가 있다.
하지만 앞서 언급했던 방법들은 UI bug를 감지하기 힘들다. UI bug는 경우에 따라 굉장히 미미한 차이일 수도 있기 때문에, Visual tests는 너무 수동이고, Snapshot tests는 UI에 적용했을 때 너무 많은 false positive(실제론 false인데 positive라고 나오는)를 발생시키며, pixel-level unit tests는 의미가 없다. 그래서 Storybook은 visual regression tests
를 제안한다.
Visual regression tests
는 렌더링된 모양의 차이를 잡아내도록 디자인되었다. 모든 스토리의 스크린샷을 찍어서, 커밋별 변화점을 잡아낸다. 많은 visual regression testing 도구가 있지만, Storybook에선 클라우드에서 테스트를 할 수 있는 Chromatic
을 제안한다!
먼저 storybook project의 git 저장소가 있어야 합니다! 기존에 만들었으면 상관없겠죠?
yarn add -D chromatic
project-token
을 받을 수 있고, 해당 명령어를 실행해 deploy합니다.npx chromatic --project-token=<project-token>
"scripts": {
"build-storybook": "build-storybook"
},
그러고 나서 chromatic에 들어가면 정상적으로 배포된 것을 볼 수 있습니다.
진짜 chromatic의 기능은 여기부터 시작입니다. 아무 변화나 주고 다시 배포를 해봅시다. 저는 버튼의 background-color를 파랑에서 빨강으로 바꿔봤습니다. 그럼 다음처럼 변경점이 감지되었음을 보여줍니다. Review changes 버튼을 클릭해서 들어가봅시다.
다음 처럼 UI 변경점을 보여줍니다. 바뀐 지점이 연두색으로 덮혀있습니다. DOM에서도 바뀐게 감지되었죠.
이렇게 배포할 때마다 UI의 변경점을 감지하고, 둘 중에 하나를 선택해서 적용할 수 있습니다. 내가 작업한 결과물이 기존것과 잘 매치되는지, 잘 변경되는지 등을 손쉽게 테스트할 수 있어 정말 유용한 서비스 같습니다.
PR을 보냈을 때에도 똑같이 테스트를 해 볼 수 있네요! 정말 유용합니다.
브라우저별 테스트를 제공합니다. 제일 말썽인 IE가 포함되어 있네요. IE를 누르면 다음 가격 정책이 뜹니다.
그렇다면 가격 정책에 대해서 알아봅시다! 그만 알아봅시다 ㅠㅠ 너무 비싸네요. 그런데 Free인 5000 snapshots도 다 못 채울 것 같습니다.