Я пытаюсь написать модульный тест для моего кода, который вложен в провайдера в маршрутизаторе.Мой компонент использует redux, вызывая this.props.dispatch (ACTION).Чтобы проверить это, мне нужно смоделировать this.props.dispatch в моем тесте, но я не могу этого сделать.компонент Маршрутизатор, который заставляет Login игнорировать любую пропущенную пропущенную команду.Если вы посмотрите на закомментированную строку кода, она работает - единственное отличие состоит в том, что компонент Login не вложен в Provider и Router в этом примере.
Поэтому мой вопрос, есть ли что-то дополнительное, я долженделать, если я хочу макетировать реквизит вложенного компонента, как это?
describe("Pokedex", () => {
beforeEach(() => {
var dispatch = jest.fn();
var props = {
dispatch
};
// wrapper = mount(<Login {...props} />); Correctly mocks dispatch
wrapper = mount(
<Provider store={store}>
<Router >
<Login {...props} />
</Router>
</Provider>
);
wrapper.setState({ loading: false });
store.clearActions();
});
Часть компонента входа:
export class Login extends PureComponent {
constructor(props) {
super(props);
console.log("Props", this.props.dispatch);
this.props.dispatch(userActions.resetError());
this.state = {
username: '',
password: ''
};
/** Extra code omitted **/
}