반응형
fireEvent와 userEvent 차이
fireEvent와 userEvent는 둘다 react test 에서 사용자 동작을 시물레이션하기 위해 사용되는 테스트 도구이다.
fireEvent
DOM 이벤트를 직접 트리거하는 저수준 도구이다. 컴퓨터 입장의 시물레이션이기 때문에 사용자의 실제 행동을 완벽하게 반영하지 못한다. 예를 들면 click()을 호출하였을때, onClick이라는 DOM Event를 발생시킨다.
userEvent
사용자의 실제 행동을 높은 수준에서 모방한다. 예를 들면 버튼을 클릭할때 onMouseOver와 onMouseOut도 필연적으로 발생하는 이벤트인데, userEvent를 사용하면 click이외의 여러 관련된 이벤트들도 고려할 수 있다.
결론
특정 이벤트만 '콕' 찝어서 테스트를 하는 경우에는 fireEvent가 적합할 수 있지만, 전체적인 흐름을 테스트 할 때 에는 userEvent가 적합하다. 사실 대부분의 상황에서 사용자 시점의 이벤트를 테스트하고자 한다면 userEvent가 적합하다.
참고문서
https://velog.io/@pds0309/react-testing-library-fireEvent-vs-userEvent
반응형
'개발 > 테스트코드' 카테고리의 다른 글
queryByText와 getByText (0) | 2023.08.28 |
---|---|
리액트 모달 컴포넌트 테스트 (0) | 2023.08.27 |
Jest로 비동기 테스트하기(done) (0) | 2022.04.08 |
Jest로 큰지 작은지, truthy인지 falsy인지 테스트하기 (0) | 2022.04.07 |
js 테스트코드 작성하는법 : 기초 calculation (0) | 2022.03.30 |