시각적 요소가 포함된 기능은 어떻게 테스트할 수 있을까?

React Testing Library

StoryBook Interaction Test

생각

현재 프로젝트에 테스트를 적용하면서 확실히 강의를 들을 때와는 다르다는 걸 느끼고 있었다. 특히, 쉬울 줄 알고 시작했던 캐러셀 요소 테스팅이 생각보다 까다롭다고 느꼈는데, 시각적 요소를 포함하고 있기 때문이다. 예를 들어, 캐러셀은 슬라이더가 움직이면서 이미 렌더링 되어 있는 카드 컴포넌트들 중 일부를 보여주는 형식으로 구현되어 있는데, DOM에는 이미 모든 카드가 렌더링되어 있기 때문에 실제로 화면에 원하는 요소만 보이는지는 테스트하기가 까다로웠다.

이 글을 읽으면서 유닛 테스트를 위해 Jest, Vitest와 RTL만 생각해볼 것이 아니라, 시각적 요소를 포함한 테스트는 E2E나 StoryBook의 도입을 고려해봐야겠다는 생각을 했다.