본문 바로가기
개발/테스트코드

fireEvent와 userEvent 차이

by 안뇽! 2023. 8. 26.
반응형

fireEvent와 userEvent 차이

fireEvent와 userEvent는 둘다 react test 에서 사용자 동작을 시물레이션하기 위해 사용되는 테스트 도구이다.

 

fireEvent

DOM 이벤트를 직접 트리거하는 저수준 도구이다. 컴퓨터 입장의 시물레이션이기 때문에 사용자의 실제 행동을 완벽하게 반영하지 못한다. 예를 들면 click()을 호출하였을때, onClick이라는 DOM Event를 발생시킨다.

userEvent

사용자의 실제 행동을 높은 수준에서 모방한다. 예를 들면 버튼을 클릭할때 onMouseOver와 onMouseOut도 필연적으로 발생하는 이벤트인데, userEvent를 사용하면 click이외의 여러 관련된 이벤트들도 고려할 수 있다.

결론

특정 이벤트만 '콕' 찝어서 테스트를 하는 경우에는 fireEvent가 적합할 수 있지만, 전체적인 흐름을 테스트 할 때 에는 userEvent가 적합하다. 사실 대부분의 상황에서 사용자 시점의 이벤트를 테스트하고자 한다면 userEvent가 적합하다.

 


참고문서

 

https://medium.com/pinkfong/react-testing-library-%EC%9D%98-fireevent-%EB%A5%BC-userevent%EB%A1%9C-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98-%ED%95%98%EA%B8%B0-with-antd-ad0de218bb98

 

react-testing-library 의 fireEvent 를 userEvent로 마이그레이션 하기 with Antd

이번 글에서는 사내 백오피스 서비스에 프론트엔드 테스트를 붙이고, 마이그레이션한 경험을 공유 드리고자 합니다.

medium.com

https://velog.io/@pds0309/react-testing-library-fireEvent-vs-userEvent

 

[react-testing-library] fireEvent vs userEvent

userEvent, fireEvent 차이를 알아보자 fireEvent React Testing Library에서 제공하는 유틸리티 함수 중 하나로 테스트 중에 이벤트를 발생시키는 데 사용한다. React 컴포넌트를 테스트할 때 사용자 동작을 모

velog.io

 

반응형