我正在尝试编写一个简单的单元测试,以确保react组件中的表单是否会在提交时调度预期的操作。
代码:
在我要测试的组件内部表单提交操作:
<form onSubmit={(values, dispatch) => {
store.dispatch(doSomething());
handleSubmit(values, dispatch);
}}>
测试:
test('Test', (t) => {
const TestForm = TestForm();//redux form
const dispatchSpy = sinon.spy();
const props = Object.assign({}, baseProps, {
handleSubmit: (callback) => {
callback({}, dispatchSpy);
},
});
t.context.form = mount(<Provider store={store}><TestForm /></Provider>);
t.context.form.find('form').simulate('submit');
//TODO - assert
这里的问题是我收到以下错误,我无法弄清楚问题:
TypeError: callback is not a function
对此有何想法?感谢。
答案 0 :(得分:0)
您确定要测试表单调度提交时的预期操作吗?我觉得它只是重写了redux-form的内部测试(已经在这里进行了测试: https://github.com/erikras/redux-form/blob/master/src/tests/Form.spec.js#L131-L-165)