20230522 - RN, jest, mobX

Sol·2023년 5월 22일
0

Sol의 아카이빙

목록 보기
25/29

이제 더 이상 문제는 없겠거니 했으나,
생각보다 mocking 해야 할 목록이 많았다.

우선 react-native-sound

https://github.com/zmxv/react-native-sound/issues/245#issuecomment-574658388

이런식으로 SoundMock class를 만들어서 mocking 해줘야한다.

그래도 계속 에러는 터지고있다.
아무래도 새로 만든 프로젝트가 아니고, 기존에 jest를 위한 세팅은 하나도 없었으니
챙겨야할 의존성이 많을 것으로 생각됐다.

다시 정확히 에러를 파악해보니 StyledNativeComponent에서 생긴 에러였다.

현재 프로젝트의 App.tsx의 return값은 이렇게 이것저것 감싸져 있는 상태.

테스트 할 컴포넌트를 ThemeProvider와 ApplicationProvider로 감쌋으나
여전히 theme의 값들을 불러올 수 없었다.

https://stackoverflow.com/questions/67570754/styled-components-theme-with-react-native-testing-library

찾아보니 단순히 styled-components/native에 ThemeProvider을 사용하면 해결이 된다.

어김없이 다시 발생하는 에러

KeyboardAwareHOC를 보고 기존에 사용하는 라이브러리
react-native-keyboard-aware-scroll-view의 문제인 것 같아 찾아봤다.

https://github.com/APSL/react-native-keyboard-aware-scroll-view/issues/493

이런식으로 react-native-keyboard-aware-scroll-view 또한 mocking 해줘야한다.

이제야 정상적으로 작동하는 테스트... 여기까지 오는데 시간이 너무 많이 걸렸다.
이후로도 여러 테스트 케이스를 짜면서 생기는 오류들이 많아 단순히 아카이빙이 아닌
아티클로 정리해야겠다는 생각이 들었다.

profile
야호

0개의 댓글