Насмешка над компонентом React с помощью Jest - PullRequest
1 голос
/ 21 апреля 2019

Вопрос 1

Согласно Jest docs , мы можем смоделировать компонент React следующим образом:

jest.mock('./Chart', () => () => 'Chart');

Как я понимаювторой параметр - это функция, которая возвращает компонент функции, который отображает строку.Почему второй параметр - это функция, возвращающая функциональный компонент (а не просто функциональный компонент)?

Вопрос 2

В существующей кодовой базе я вижумакетирование выполняется следующим образом:

jest.mock('./Chart', () => ({ Chart: 'mockChart' }));

В этом случае вторым параметром является компонент функции, который возвращает объект.Какое намерение здесь?Почему у нас нет функции, возвращающей компонент функции в этом случае?Какова цель компонента функции, возвращающего объект?

1 Ответ

1 голос
/ 21 апреля 2019

Второй jest.mock параметр заводская функция .Он должен возвращать значение, с которым модуль будет смоделирован.

jest.mock('./Chart', () => () => 'Chart');

означает, что экспорт модуля смоделирован с помощью () => 'Chart' функционального компонента.

jest.mock('./Chart', () => ({ Chart: 'mockChart' }));

означает, что экспорт модуля смоделированс { Chart: 'mockChart' } объектом, т.е. Chart именованный экспорт смоделирован с mockChart строкой.

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