[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하자.

Categories:

Updated: