Zac*_*ach 2 mocha.js node.js promise async-await sinon
我正在使用 Mocha/Sinon 编写一个测试,以确保async tryAtMost我创建的函数正在调用 Promise 并且只重试该承诺X次数。
我的tryAtMost功能看起来像:
async tryAtMost(options, promise, maxRetries, retryInterval = 0) {
return new Promise(async (resolve, reject) => {
try {
const res = await promise(options);
if (res.statusCode == 200) {
return resolve(res);
} else {
if (maxRetries > 0) {
setTimeout(async () => {
return await this.tryAtMost(options, promise, maxRetries - 1, retryInterval);
}, retryInterval);
} else {
return reject('Ran out of retries, failing.');
}
}
} catch (err) {
return reject(err);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我的 Mocha 测试为我的promise库创建了一个存根,我可以强制它返回我想要的任何状态代码。但是,我希望我的测试能够验证tryAtMost仅被调用maxRetries + 1的次数。如果有人更熟悉 Mocha/Sinon 可以帮助我弄清楚如何做到这一点,我将不胜感激。
| 归档时间: |
|
| 查看次数: |
4952 次 |
| 最近记录: |