web-dev-qa-db-ja.com

JESTテストのためのReact-Navigation 5.0でのムック方法を模索する方法

私の機能コンポーネントの中で使用されているusenavigationフックをモックしたいです。どのようにしてそれをJestを使ってモックする方法は何ですか?

import React from 'react';
import { useNavigation } from '@react-navigation/native';
import { TouchableOpacity } from 'react-native';

const MyComponent = () => {
  const { navigate } = useNavigation();

  const navigateToScreen = () => {
    navigate('myScreen', { param1: 'data1', param2: 'data2' })
  }

  return (<TouchableOpacity onPress={navigateToScreen}>
       Go To Screen
     </TouchableOpacity>)
}
 _

ナビゲート関数に渡されるパラメータをテストする方法?

7
Renish Ghetia
jest.mock("@react-navigation/native", () => {
  const actualNav = jest.requireActual("@react-navigation/native")
  return {
    ...actualNav,
    useFocusEffect: () => jest.fn(),
    useNavigation: () => ({
      navigate: jest.fn(),
    }),
  }
})
 _
0
Kieran