如何使用 Sinon 的 stub() 方法
stub()
方法,可以换一个功能对于一个假版本的功能预先确定的行为。 这有助于检测边界情况下,像会发生什么,当一个 HTTP 请求将失败。
sinon.stub()
替代品的真实的功能和返回一桩对象,你可以配置使用的方法一样 callsFake()
,
Stubs 也有一个 callCount
告诉你多少次被调用了多少次,例如以下代码,axios.get()
对于一个函数,总回报 { status: 200 }
并声称, axios.get()
被称为一次。
const axios = require('axios');
const sinon = require('sinon');
const assert = require('assert');
const stub = sinon.stub(axios, 'get').callsFake(() => Promise.resolve({ status: 200 }));
// Calls the fake `axios.get()`
const test = await axios.get('https://httpbin.org/get');
assert.deepEqual(test, { status:200 }); // passes
assert.strictEqual(stub.callCount, 1); // passes
使用 getCall()
Stubs 也有一个 getCall()
功能返回的数据在一个特定功能的调用。
例如 stub.getCall(0)
返回的一个目包含数据的第一时间短,包括 arguments
和 returnValue
:
const call = stub.getCall(0);
call.args; // ['https://httpbin.org/get']
call.returnValue; // Promise { { status: 200 } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论