단위 테스트 케이스를 내 redux 작업에 추가하려고합니다. 나는 내 행동에 thunk
, promise-middleware
을단위 테스트 Redux 비동기 작업
일이이
export function deleteCommand(id) {
return (dispatch) => {
dispatch({
type: 'DELETE_COMMAND',
payload: axios.post(`${Config.apiUrl}delete`, { _id: id })
})
}
}
단위 테스트처럼되어 사용하고 내가 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
구성, 나는 행동 파견 호출에 캐치를 추가 . 이제 Nook이 통화를 조롱하지 않기 때문에 Network Error
이 표시됩니다. moxios
도 시도한 axios
을 isomorphic-fetch
, whatwg-fetch
으로 변경했습니다. 작동하지 않는 것 같습니다
어디에서 잘못 했습니까?
모의 상점을 올바르게 구성하고 있습니까? 즉, 및 약속 미들웨어를 추가하십시오. – Nick
나는 모의 상점과 내 질문을 업데이 트했습니다 – Sreevisakh