2017-05-02 12 views
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 

これについてのご意見はありますか?ありがとう。

+0

あなたのコンポーネントに小道具を渡していますか? '' – Shota

答えて

0

送信時に予想されるアクションをフォームで送信することをテストしてもよろしいですか?私はそれがちょうどredux形式の内部テストを書き直しているように感じる(既にここでテストされています: https://github.com/erikras/redux-form/blob/master/src/tests/Form.spec.js#L131-L-165

+0

はい私は、期待されるアクションがディスパッチされるかどうか確認することに興味があります。 – HitRefresh

関連する問題