Dis*_*ive 10 javascript unit-testing sinon
我知道如何使用stub来替换一个函数.
sandbox.stub(Cars, "findOne",
() => {return car1 });
Run Code Online (Sandbox Code Playgroud)
但是现在我在我的函数中有一行我想测试我需要看起来像这样的存根
Cars.find().fetch()
Run Code Online (Sandbox Code Playgroud)
所以这里有一系列功能,我不确定我需要做什么.如何存根"查找"以返回我可用于存根"获取"的内容?
dee*_*wan 14
恕我直言,我们可以用它returns来做到这一点.我们不需要使用callsFake或模拟它作为函数.
// Cars.find().fetch()
sinon.stub(Cars, 'find').returns({
fetch: sinon.stub().returns(anything);
});
Run Code Online (Sandbox Code Playgroud)
万一,如果在fetch()之后还有另一种方法,我们可以使用returnsThis()
// Cars.find().fetch().where()
sinon.stub(Cars, 'find').returns({
fetch: sinon.stub().returnsThis(),
where: sinon.stub().returns(anything);
});
Run Code Online (Sandbox Code Playgroud)
参考:https: //sinonjs.org/releases/v6.3.3/
希望能帮助到你
试试这个:
sandbox.stub(Cars, "find", () => {
return {
fetch: sinon.stub().returns(anything);
};
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4895 次 |
| 最近记录: |