redux test
테스트에서 효율성: 테스트를 작성하는데 드는 노력, 테스트가 제공하는 가치 사이에서 최고로 얻어낼 수 있는 절충안
단위 테스트와 리덕스
리덕스가 제안하는 구조 덕에 단위 테스트를 쉽게 작성 가능.
reducer, action creator, container를 각각 불러와서 순수 함수와 똑같이 테스트 하면 된다.
데이터를 집어 넣고, 나온 데이터를 assertion과 맞춰본다.
하지만, 테스트 피라미드상 단위테스트로만 이 앱이 제대로 작동하는지 답할 수 없다.
피라미드 오르기
통합테스트를 하자.
애플리케이션 모듈이 어떻게 상호작용 하는지
액션을 보내기 위해 dispatch 액션 생성자를 사용하는 리듀서를 테스트하기
리덕스에서 통합 테스트 하기 적절한 지점을 찾기. 단위 테스트와 같은 테스트 환경을 사용하면서 리덕스로 관리되는 애플리케이션이 제대로 동작하고 있다는 충분한 확신을 줘야한다.
범위를 모킹하기
간단한 유틸함수를 만들어서 재사용하기. 이 함수는 주어진 상태(redux 스토어)와 Enzyme의 래퍼 객체(react-dom-testing으로 대체)
언제 테스트하나?
api 요청과 같은 비동기 코드를 다루기 위해 promise를 사용
성공한 프로미스는 submitButton.simulate('click')
assertion이 실행되기 전에 앞선 작업이 훨씬 급
Last updated
Was this helpful?