2
나는 내 개인 프로젝트에서 100 % 코드 커버리지를 얻으려고 모험심과 노력을 기울이고 있습니다. 그리고 jest
, enzyme
및 react-native
을 사용하여 클릭 이벤트를 시뮬레이트하는 방법을 설명하는 설명서가 없습니다.React Native Jest Enzyme Find and Press Component
<Screen.TopBar>
<Toolbar
leftElement="arrow-back"
onLeftElementPress={() => router.pop()}
centerElement={pageName}
/>
</Screen.TopBar>
이것은 상단 부분 일 뿐이며, 해당 요소에 대한 클릭을 시뮬레이션하려고합니다.
const wrapper = mount(
<MockProvider store={store}>
<ThemeProvider uiTheme={uiTheme}>
<Category />
</ThemeProvider>
</MockProvider>
);
expect(wrapper.find('Toolbar').length).toBe(1);
는 오류가 발생합니다 :
ReferenceError: document is not defined
at Object.renderIntoDocument (node_modules/react-dom/lib/ReactTestUtils.js:73:15)
at renderWithOptions (node_modules/enzyme/build/react-compat.js:187:26)
at new ReactWrapper (node_modules/enzyme/build/ReactWrapper.js:94:59)
at mount (node_modules/enzyme/build/mount.js:19:10)
at Object.<anonymous> (app/screens/category/tests/Category.test.js:32:30)
그래서 내 질문에 내가 도구 모음의 구성 요소의 버튼을 클릭 할 수 있도록 내가 도구 모음을 선택합니까 방법이다.
'mount' 대신'shallow'를 사용했을 때 어떤 일이 일어 났습니까? –
@ AndreasKöberle 문제는 얕은 것을 사용하면 전체 수명주기를 완전히 테스트 할 수없고'jest --coverage'를 실행할 때 귀하의 기능을 100 % 호스트하십시오 – jose920405
https://blog.joinroot.com/mounting-react-native-components-with-enzyme-and-jsdom/ – jose920405