Используя Enzyme и Jest, как проверить, был ли метод передан как дочерний элемент функционального компонента? - PullRequest
0 голосов
/ 17 января 2020

Мне известно о этом решении, но, к сожалению, instance() работает только с классами, а не с функциональными компонентами.

Если у меня есть дочерний компонент внутри функционального компонента, как мне это сделать? проверить, что метод функциональных компонентов был передан дочернему компоненту?

Например, если это настройка моего компонента:

const ParentComponent = () => {

    const sampleFunction = () => {
        // whatever
    };

    return (
        <ChildComponent sampleProp={sampleFunction} />
    );

}

И мой тест выглядит так:

it('should pass the correct prop to the child component', () => {
    expect(wrapper.find(ChildComponent).props().sampleProp).toBe(wrapper.sampleFunction);
});

Выдает ошибку, поскольку wrapper.sampleFunction не определено. Поскольку я не могу использовать instance(), как я могу проверить, равен ли метод методу?

...