После упаковки компонента React с соответствующим поставщиком хранилище все еще не найдено в среде jest-тестирования. Есть ли что-то, чего мне не хватает, или есть другой способ сделать это?
Это практика, которая работает для других магазинов, и я использовал с другими компонентами, поэтому я не вижу причины, почему это не должно работать. Средство визуализации должно создавать объект, обернутый TextContext, из которого он должен прочитать, чтобы заполнить поля.
Контекст
import { connect } from 'react-redux';
import React, { createContext } from 'react';
export const TextContext = createContext({});
export function TextProvider({ children, text }) {
return <TextContext.Provider value={text}>{children}</TextContext.Provider>;
}
export const TextConsumer = TextContext.Consumer;
function renderComposition(props) {
const text = {
... // some text objects
};
return (
<TextProvider text={text}>
<Composition {...props} />
</TextProvider>
);
}
целевая линия с ошибкой
beforeEach(() => {
...
subject = mount(renderer.create(renderComposition(props)));
...
)};
с ошибкой
Invariant Violation: Could not find "store" in either the context or props of "Connect(Composition)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(Composition)".