У меня есть компонент с именем «MyComponent», и у этого компонента есть соединитель в отдельном файле в папке, называемой контейнером с синтаксисом, как показано ниже:
export default connect(
state => ({
prop1: reducer.reducerMethod(state),
prop2: state.prop.value1,
prop3: state.prop.value2,
prop4: state.prop.value3,
}),
{
actionMethod1: actionMethod.actionMethod1,
actionMethod2: actionMethod.actionMethod2
}
)(MyComponent);
Я проверял это следующим кодом:
let store;
beforeEach(() => {
store = initStore();
store.dispatch = jest.fn();
});
const render = () => {
return renderIntoDocument(
<MemoryRouter>
<Provider store={store}>
<MyComponentContainer />
</Provider>
</MemoryRouter>
);
};
const ComponentPage = () => {
return ReactTestUtils.findRenderedComponentWithType(render(), MyComponent);
};
test("maps state and dispatch to props", () => {
const page = ComponentPage();
expect(page).toMatchSnapshot();
});
Редуктор имеет методы действия.
Компонент 'MyComponent' использует свойство prop1, которое получает данные из метода редуктора, пока другие реквизиты находятся в состоянии.
Как можно смоделировать это значение prop1, когда я тестирую только файл контейнера?