fireEvent неправильно вызывает событие в реагирующей на тестирование библиотеке - PullRequest
0 голосов
/ 11 сентября 2018

В настоящее время я тестирую ввод, используя Jest & реагирующее-тестирование-библиотека . Я пытаюсь проверить, срабатывает ли функция onChange при каждом изменении поля ввода. Вот пример моего кода:

const placeHolder = 'first name';
const onChange = jest.fn();

test('<InputText/>', () => {

  const {getByPlaceholderText} = render(
    <InputText placeholder={placeHolder} onChange={onChange} />
  );

  const input = getByPlaceholderText(placeHolder);

  fireEvent.change(input, {
    target: {value: 'pls work'},
  });

  expect(onChange).toHaveBeenCalledTimes(1);
});

Вот что я получаю в терминале, когда я запускаю этот тест:

expect(jest.fn()).toHaveBeenCalledTimes(1)

Expected mock function to have been called one time, but it was called zero times.

Я использовал функцию fireEvent.click () в других тестах без каких-либо проблем, но fireEvent.change (), похоже, не работает для меня.

1 Ответ

0 голосов
/ 19 сентября 2018

Оказывается, мой <InputText/> компонент получает onChangeFunc проп, в то время как я пытался дать ему onChange опору.Как только я понял это и дал ему правильную опору, это решило проблему.

...