Вызов Jest spyOn для функции передается как реквизит - PullRequest
0 голосов
/ 24 мая 2019

У меня есть функция onSubmit, переданная в качестве реквизита дочернему компоненту.

Как бы я следил за ней?Это одна из вещей, которые я пробовал

const onSubmitMock = jest.fn()

  const wrapper = shallow(
    <Form onSubmit={onSubmitMock} />
  )

  const spy = jest.spyOn(wrapper.instance(), onSubmitMock);

Я получаю

Невозможно шпионить за функцией mockConstructor () {вернуть свойство fn.apply (this, arguments);}, потому что это не такфункция;вместо этого дано неопределенное значение

Я пытался

const spy = jest.spyOn(wrapper.instance(), 'onSubmit');

, и то же самое произошло.

1 Ответ

0 голосов
/ 24 мая 2019

Вы можете использовать expect(onSubmitMock ).toHaveBeenCalled(); непосредственно после имитации события отправки.

Вы получаете ошибку, вероятно, потому что spyOn возвращает jest.fn () https://jestjs.io/docs/en/jest-object#jestspyonobject-methodname

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