Вызов функции передан в качестве поддержки в Enzym - PullRequest
0 голосов
/ 11 февраля 2019

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

const FooBar = ({
    onClose,
}) => {
    return (
        <div
            className='foo'>
            <Icon
                name='close'

                onClick={onClose} />
        </div>
    )
}

Мой тест выглядит следующим образом

const mockFn = jest.fn();
const title = 'Title';

it('calls the onClose function', () => {
    const component = mount(
        <FooBar
            title={title}

            onClose={mockFn}
        />
    );

    component.instance().onClose();
    expect(mockFn).toBeCalled();
    component.unmount();
});

Возвращает

TypeError: Невозможно прочитать свойство 'onClose'нуля

Как вызвать функцию onClose?

1 Ответ

0 голосов
/ 11 февраля 2019

Попробуйте

component.find(Icon).first().props().onClick();

Кроме того, посмотрите на react-testing-library, это облегчает этот вид тестирования.

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