У меня есть компонент в моем приложении React, который связан react-redux
с двумя реквизитами
import PropTypes from "prop-types";
import { createNewPlayer } from "../actions/AllActions";
class HomePage extends React.Component {...}
HomePage.propTypes = {
createNewPlayer: PropTypes.func.isRequired,
history: PropTypes.shape({
push: PropTypes.func.isRequired
}).isRequired
};
export default connect(null,{ createNewPlayer })(HomePage);
в index.js У меня есть ReactDOM.render(<BrowserRouter><Provider store={store}> ...)
и App.js const App = () => (<Route path="/" exact component={HomePage} />);export default App
;
для тестирования моментального снимка HomePage I, используя Jest
и Enzyme
Я написал
import React from "react";
import toJSON from "enzyme-to-json";
import { shallow, mount } from "enzyme";
import HomePage from "../components/HomePage";
test("should render the HomePage Component", () => {
const props = { createNewPlayer: jest.fn(), push: jest.fn() };
const wrapper = mount(shallow(<HomePage {...props} />));
expect(toJSON(wrapper)).toMatchSnapshot();
});
, где я получаю ошибку
Invariant Violation: Could not find "store" in either the context or props of "Connect(HomePage)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(HomePage)".
какя должен сделать снимок для проверки подключенного компонента с proptype