Проверить конкретную функцию внутри компонента

У меня есть компонент Table, который возвращает некоторые элементы jsx и содержит некоторые функции. Я уже тестировал элементы jsx в компоненте, теперь я хочу попробовать функции.

Функции объявлены как:

const fn = prop => {
  return (
    <div>Something</div>
  );
};

Я попытался получить доступ к ним через экземпляр смонтированного компонента, но я получаю ошибки:

TypeError: Невозможно прочитать свойство 'fn' с нулевым значением And: TypeError: component.fn не является функцией

Первая ошибка возникает, когда я вызываю функцию renderDate как:

const date = moment('01/01/2019', "DD/MM/YYYY");

const row = {
    value: date
}
component = mount(getComponent())

component.instance().renderDate(row)

И второй результат происходит, когда я вызываю функцию renderDate без instance() компонента, как:

const date = moment('01/01/2019', "DD/MM/YYYY");

const row = {
    value: date
}
component = mount(getComponent())

component.renderDate(row)

И функция renderDate внутри компонента:

const renderDate = row => {
  return (
    <div>
      {row.value}
    </div>
  );
};

Я ожидал бы выполнить эту функцию, но вместо этого она не обнаружит существование функций, объявленных как это.

Кто-нибудь имеет какие-либо идеи о том, как вызывать функции, как показано в Jest и Enzyme? Я искал в документации фермента о вызове функций в компонентах, но ни один из примеров не работал для меня.

Заранее спасибо!

0 ответов

Другие вопросы по тегам