Я сталкиваюсь со следующим предупреждением / проблемой с тестированием React и Jest + Enzyme в консоли:
console.error node_modules/react/cjs/react.development.js:172
Warning: React.createElement: type is invalid -- expected a string (for built-in components)
or a class/function (for composite components) but got: object.
Рабочий код использует пустую версию компонента (экспортируется с помощью Ho C ).
Библиотека предоставляет возможность доступа к оригиналу BaseComponent
, если необходимо, как я. Пример экспортируемого компонента из lib / Ho C следующий:
EnrichedComponent.WrappedComponent = BaseComponent;
Итак, я получаю доступ вот так (это кнопка)
const { WrappedComponent: BaseButton } = Button;
// usage example
<BaseButton>
hi!
</BaseButton>
В тесте мне нужно чтобы посмеяться над библиотекой и экспортированными частями, поэтому я делаю следующее:
jest.mock('myLib', () => ({
Button: {
WrappedComponent: 'base-button-component',
displayName: 'button-component',
},
}));
Проблема возникает при тестировании. Я могу проверить его без сбоев, но я получил вышеупомянутое предупреждение.
Есть идеи? Это то, о чем я должен заботиться или не стоит?