我正在尝试编写一个简单的单元测试,以确保反应组件内的表单是否在提交时调度了预期的操作。
代码:
我正在尝试测试的组件内的表单提交操作:
<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
对此有什么想法吗?谢谢。