Как проверить обернутый компонент ферментом? - PullRequest
1 голос
/ 28 марта 2019

Мои компоненты React обернуты разными HOC (i18next, graphql и т. Д.), К сожалению, я не могу проверить свои обернутые компоненты ферментом.

Какова ваша лучшая практика для проверки ваших обернутых компонентов?

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

Спасибо, что читаете меня!

Ответы [ 2 ]

3 голосов
/ 28 марта 2019

Я предпочитаю использовать тот же подход, что и Redux для connect, и сделать фактический компонент доступным в качестве статического для экспортируемого компонента.

const MyComponent = (props) => ( ... );

const ConnectedComponent = usingMyHoc(...)(MyComponent) ;
ConnectedComponent.WrappedComponent = MyComponent;

export default ConnectedComponent;
2 голосов
/ 28 марта 2019

Я согласен, что экспорт развернутых компонентов кажется неестественным - вы хотите точно протестировать свои компоненты, как они используются в производстве.

Мой предпочтительный метод - создание функции рендеринга для использования в тестировании:

function renderWithProviders(componentTree, options = {}) {
    const {initialState} = options;
    const store = initializeStore(initialState);
    return {
        ...render(
    <Provider store={store}>
        <SnackbarProvider>{componentTree}</SnackbarProvider>
    </Provider>
    )};
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...