[inflearn] TDD 개발 방법론을 활용한 React Native 앱 개발 (3)
사용할 라이브러리
JEST
- JavaScript Testing Framework.
- 통합 라이브러리.
- React-Native cli로 설치하게 되면 JEST가 자동으로 표함된다.
- package.json에서 jest가 포함된 것을 확인할 수 있다.
- 추가로 설치할 필요 없으며 바로 사용이 가능하다.
Enzyme
- 에어비앤비에서 개발해서 배포하는 라이브러리.
- react component를 테스트할 때 사용하는 라이브러리.
- 컴포넌트를 렌더링 하거나 탐색할 수 있다.
- Shallow Rendering을 통해 다양하게 탐색할 수 있다. (몇 번 째 엘리먼트를 가져온다 등)
Detox
- 컴포넌트가 아니라 end to end 즉, 사용자 관점에서 테스트.(사용자의 입력을 받았을 때 앱이 어떻게 동작한다.)
- 기본적으로 모바일 앱들을 위해 개발된 라이브러리이다.
- 현재 ios만 지원하고 있다.
Jest 설치 및 동작 확인
Enzyme 설치 및 동작 확인
Detox 설치 및 동작 확인
트러블 슈팅
- can not connect to metro
- cold boot now 메뉴를 클릭하여 강제로 리부팅 (해결 안됨)
- .lock 파일을 모두 삭제 후 재실행 (해결안됨)
- 에러 원인은 비정상 종료라는데 아직 원인을 모르겠음.
- Virtual Device를 삭제하고 새로 만들었다. 다음부터 에뮬레이터를 종료할 떄는 안드로이드 스튜디오 상단에 초록색 실행 버튼 옆에를 눌러서 Open AVD Manager를 선택하고 실행중인 Device를 Stop하자.