210504 React TDD Practice with RTL
RTL(React-Testing-Library)는 모든 테스트를 DOM 위주
로 한다. 별도로 props나 state를 조회하는 테스트는 하지 않는다.
그 이유는 컴포넌트를 리팩토릴할때 내부 구조와 네이밍은 많이 바뀔 수 있어도 실제 동작방식은 크게 바뀌지 않기 때문이다.
따라서 RTL에서는 컴포넌트의 기능이 똑같이 동작한다면, 컴포넌트의 내부 구현 방식이 바뀌어도 실패하지 않도록 테스트를 지원한다.
DOM 시뮬레이션은 JSDOM이라는 도구를 사용하여 document.body에 React 컴포넌트를 렌더링한다.
@testing-library/jest-dom
은 DOM관련 matcher를 사용할 수 있게 지원해주는 라이브러리이다.
snapshot 테스트
1 | import { render } from '@testing-library/react'; |