0

我正在尝试编写一个简单的单元测试,以确保反应组件内的表单是否在提交时调度了预期的操作。

代码:

我正在尝试测试的组件内的表单提交操作:

   <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

对此有什么想法吗?谢谢。

4

1 回答 1

0

您确定要测试表单在提交时调度预期的操作吗?我觉得它只是重写了 redux-form 的内部测试(这里已经测试过: https : //github.com/erikras/redux-form/blob/master/src/tests/Form.spec.js#L131- L-165 )

于 2017-05-02T07:07:06.553 回答