Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Redux saga产量输出单元测试不工作_Reactjs_Unit Testing_Redux_Sinon_Redux Saga - Fatal编程技术网

Reactjs Redux saga产量输出单元测试不工作

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

我想和一些在线,但仍然没有工作。我使用Sinon进行单元测试,我不断地遇到这个错误,在这个问题上停留了太久,无法解决它

预期{Object(@@redux saga/IO,combinator,…)与{Object(@@redux saga/IO,combinator,…)深度相等

我的行动

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
尝试了这一点,但出现了相同的错误。非常感谢。