как в шутку высмеять аргумент обратного вызова?

#react-native #jestjs

#реагировать-родной #jestjs

Вопрос:

я знаю, что мне нужно настроить свою функцию mockedShow, и это код:

 export const mockedShow = jest.fn(); export const mockedHide = jest.fn();  jest.mock('react-native-toast-message', () =gt; {  const RNToast = jest.requireActual('react-native-toast-message');  const React = require('react');  class Toast extends React.Component {  static show = mockedShow;  static hide = mockedHide;   render() {  return React.createElement('Toast', this.props, this.props.children);  }  }  Toast.propTypes = RNToast.propTypes;  return Toast; });  

Вот как я его использовал:

 useEffect(() =gt; {  if (state.pinError) {  console.log('Invalid PIN');  Toast.show({  type: 'error',  text1: 'Invalid PIN',  visibilityTime: 1500,  topOffset: 25,  onHide: () =gt; {  console.log('Invalid PIN onHide');  dispatch(actions.setPinError(false));  setHasSetPin(false);  setPin(0);  },  });  }  }, [state.pinError]);  

когда я тестирую, я вижу журнал «Недопустимый PIN-код», но нет «Недопустимого PIN-кода», поэтому я подумал, что мой onHide не вызывается. На самом деле я тоже сделал это в своем тесте, но я все еще не вижу в журнале «Недопустимый PIN-код на шее».:

 jest.advanceTimersByTime(1699);  

Как мне изменить шутку mockedShow fn, чтобы запустить обратный вызов onHide из его аргумента?