Reactjs Redux saga产量输出单元测试不工作
我想和一些在线,但仍然没有工作。我使用Sinon进行单元测试,我不断地遇到这个错误,在这个问题上停留了太久,无法解决它 预期{Object(@@redux saga/IO,combinator,…)与{Object(@@redux saga/IO,combinator,…)深度相等 我的行动Reactjs Redux saga产量输出单元测试不工作,reactjs,unit-testing,redux,sinon,redux-saga,Reactjs,Unit Testing,Redux,Sinon,Redux Saga,我想和一些在线,但仍然没有工作。我使用Sinon进行单元测试,我不断地遇到这个错误,在这个问题上停留了太久,无法解决它 预期{Object(@@redux saga/IO,combinator,…)与{Object(@@redux saga/IO,combinator,…)深度相等 我的行动 export const loadingStatus = (response) => { return { type: "LOADING_STATUS", response
export const loadingStatus = (response) => {
return { type: "LOADING_STATUS", response };
};
我的传奇
export function* mySampleSaga() {
try {
yield put(loadingStatus('loading'));
yield delay(1000);
const config = yield select(getConfig);
const requestCall = new SendingRequest(config);
const linkRequests = yield select(getLinks);
const response = yield call(
[requestService, requestCall.sample],
"2020-01-01",
"2020-12-21"
);
const result = get(response, 'entities.requests', {});
yield put(success(result));
yield put(loadingStatus('done'));
} catch (error) {
yield put(sendError(error));
yield put(loadingStatus('done'));
}
}
我的测试
describe('sample saga', () => {
const config = {
sample: "123"
};
const linkRequests = ['12345', '5678910'];
it('should update request status - happy path', () => {
const gen = mySampleSaga();
expect(gen.next().value).to.deep.equal(put(loadingStatus('loading'))); // This keep getting error below
});
it('If saga has error', () => {
const gen = mySampleSaga();
const error = new Error('error');
gen.next();
expect(gen.next().value).to.deep.equal(put(sendError(error)));
expect(gen.next().value).to.deep.equal(put(loadingStatus('done')));
expect(gen.next().done).to.equal(true);
});
});
您能在调试器中设置断点并检查值吗?我建议提取两个变量
const a=gen.next()。value
和const b=put(…)
并检查a
和b
尝试了这一点,但出现了相同的错误。非常感谢。