Enzyme Mock ToastAndroid React Родной компонент - PullRequest
0 голосов
/ 26 августа 2018

Я тестирую реактивный нативный компонент, который использует компонент ToastAndroid в методе, и во время тестирования с ферментом я получаю ошибку TypeError: _reactNative.ToastAndroid.show is not a function

Я использую react-native-mock-renderer для шутки, и у моего компонента есть метод, который вызывается с помощью обработчика onPress.

 validateAndProceed = () => {
    ToastAndroid.show(
        'Show toast',
        ToastAndroid.SHORT,
      );
  };

и мой тест для проверки

it('should validate and process', () => {
    const wrapper = shallow(<Component
    />);
    const instance = wrapper.dive().instance();
    jest.spyOn(instance, 'validateAndProceed');
    instance.validateAndProceed();
    expect(instance.validateAndProceed).toHaveBeenCalled();
  });

Я создал пользовательский макет для ToastAndroid

const ToastAndroid = {
  SHORT: '',
  LONG: '',

  TOP: '',
  BOTTOM: '',
  CENTER: '',

  show: jest.fn(),
  showWithGravity: jest.fn(),
  showWithGravityAndOffset: jest.fn(),
};

module.exports = ToastAndroid;

Все еще не работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...