如何解决如何使用 sinon 单元测试 redux saga spawn 功能
我的 redux-saga 调用卡住了 spawn 调用单元测试,需要其他人的帮助,非常感谢!
我的传奇
export function* sampletest() {
try {
yield put(someData1);
yield spawn(someData2);
yield spawn(someData3);
} catch (error) {
console.log('error',error);
}
}
}
someData2 code is an API call this one returns an array with one object.
我的测试
describe('For my spawn test',() => {
it('Initialize saga',() => {
const someData2Spy = sinon.spy();
const gen = sampleTest({});
expect(gen.next().value).to.deep.equal(put(someData1));
expect(gen.next(someData2Spy).value).to.be.deep.equal(spawn(someData2)); <--- Does not work
// expect(gen.next()).to.be.deep.equal(spawn(someData3)); <--- Does not work
// expect(gen.next().done).to.equal(true);
});
});
Attempted to wrap undefined property undefined as function
或
Tried expect(gen.next()).to.be.deep.equal(spawn(someData2)); get this error:
expected { Object (@@redux-saga/IO,combinator,...) } to equal { Object (@@redux-saga/IO,...) }
我试过这个 strcat()
对我不起作用。
谢谢
解决方法
现在为我找出这项工作:
describe('For my spawn test',() => {
it('Initialize saga',() => {
expect(gen.next({}).value).to.deep.equal(put(someData1));
expect(gen.next({}).value).to.be.deep.equal(spawn(someData2));
expect(gen.next({}).value).to.be.deep.equal(spawn(someData3));
});
});
感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。