私はあなたのreduxアクションにユニットテストケースを追加しようとしています。単体テストRedux非同期アクション
私はこのために、この
export function deleteCommand(id) {
return (dispatch) => {
dispatch({
type: 'DELETE_COMMAND',
payload: axios.post(`${Config.apiUrl}delete`, { _id: id })
})
}
}
ユニットテストが
あるように私の行動の一つが私の行動でthunk
、
promise-middleware
をthisを試してみました
import configureMockStore from "redux-mock-store"
const middlewares = [thunk, promiseMiddleware()];
const mockStore = configureMockStore(middlewares)
it('creates DELETE_COMMAND_FULFILLED after deleting entry', (done) => {
nock('http://localhost:8081/')
.post('/delete',{
_id: 1
})
.reply(200, {})
const expectedActions = [{
type: 'DELETE_COMMAND_FULFILLED',
payload: {}
}]
const store = mockStore({
command: {
commands: []
}
})
store.dispatch(actions.deleteCommand({_id: 1}).then(function() {
expect(store.getActions())
.toEqual(expectedActions)
done();
})
})
私は
nock
を使用しています210
は、redux-mock-store
はそれは私が私がunhandled promise reject
例外を得た後、約束を返すように行動を変え、その後then of undefined
与えpromise middleware
、thunk
で構成され、私はアクションのディスパッチコールにキャッチを追加しました。 ノックがコールを嘲笑していないので、私は今Network Error
を得ています。 moxios
も試しました。axios
をisomorphic-fetch
,whatwg-fetch
に変更しました。
どこが間違っているのですか?
モックストアを正しく設定していますか?すなわち、サンク と約束ミドルウェアを追加する。 – Nick
私は偽のストアでも私の質問を更新しました – Sreevisakh