如何为 redux 表单模拟 getFormValues
How to mock getFormValues for redux form
我正在使用以下代码来测试我的动作创建器。因为我的 action creator 使用存储状态,所以我需要模拟 getFormValues
和 isValid
。但是,它会抛出
TypeError: (0 , _reduxForm.getFormValues)(...) is not a function.
谁能帮我解决这个问题?
import * as reduxForm from 'redux-form';
it('creates SAVE_PROPERTY when saving a property', () => {
reduxForm.getFormValues = jest.fn(() => ({ field1: 'test', field2: 'test2' }));
reduxForm.isValid = jest.fn(() => false);
store.dispatch(saveProperty(1));
expect(store.getActions()).toMatchSnapshot();
reduxForm.getFormValues.mockRestore();
reduxForm.isValid.mockRestore();
});
想了很久,终于想到了解决办法。希望能帮到别人
it("creates SAVE_PROPERTY when saving a property and form values are missing", () => {
reduxForm.getFormValues = jest.fn(() => () => ({
field1: "test",
field2: "test2"
}));
reduxForm.isValid = jest.fn(() => () => false);
store.dispatch(saveProperty(1));
expect(store.getActions()).toMatchSnapshot();
reduxForm.getFormValues.mockRestore();
reduxForm.isValid.mockRestore();
});
jest.mock('redux-form', () => ({
getFormValues: jest.fn(() => () => mockWorkActivityFormValues),
}));
我正在使用以下代码来测试我的动作创建器。因为我的 action creator 使用存储状态,所以我需要模拟 getFormValues
和 isValid
。但是,它会抛出
TypeError: (0 , _reduxForm.getFormValues)(...) is not a function.
谁能帮我解决这个问题?
import * as reduxForm from 'redux-form';
it('creates SAVE_PROPERTY when saving a property', () => {
reduxForm.getFormValues = jest.fn(() => ({ field1: 'test', field2: 'test2' }));
reduxForm.isValid = jest.fn(() => false);
store.dispatch(saveProperty(1));
expect(store.getActions()).toMatchSnapshot();
reduxForm.getFormValues.mockRestore();
reduxForm.isValid.mockRestore();
});
想了很久,终于想到了解决办法。希望能帮到别人
it("creates SAVE_PROPERTY when saving a property and form values are missing", () => {
reduxForm.getFormValues = jest.fn(() => () => ({
field1: "test",
field2: "test2"
}));
reduxForm.isValid = jest.fn(() => () => false);
store.dispatch(saveProperty(1));
expect(store.getActions()).toMatchSnapshot();
reduxForm.getFormValues.mockRestore();
reduxForm.isValid.mockRestore();
});
jest.mock('redux-form', () => ({
getFormValues: jest.fn(() => () => mockWorkActivityFormValues),
}));