현재 맡고있는 프로젝트의 코드 상태가 너무 엉망이어서 log를 찍어가며 작업하는 것은 무리였다.
고민을 하다가 이참에 RN 프로젝트에서 jest 테스트를 굴려볼까 생각하여 과감하게 진행
냅다 지피티한테 물어보고
생각보다 잘 뽑아줘서 놀람
현재 작업하는 RN 프로젝트의 버전이 0.68.1로 꽤 낮은 상태라
추가적인 환경설정이 필요해보였다.
jest(26.6.3), react(17.0.2) 모두 버전이 꽤 낮은 상태라
@testing-library/react-native도 알맞은 버전으로 설치해주고
행복하게 잘 될 줄 알았으나
어라? mobX가 또 말썽
https://qvik.com/news/testable-state-management-using-react-native-with-mobx/
다행히 괜찮은 아티클에서 이유를 상세히 설명해줬다.
해결방법은 간단 jest config를 만져주면 된다.
이번엔 async-storage가 말썽이다.
jest로 테스트하는 환경을 조성하는 것 자체가 뭔가 이것저것 챙길게 많다.
https://react-native-async-storage.github.io/async-storage/docs/advanced/jest
mocks을 사용하거나, jest setup file을 만들어서 처리를 해준다.