问题标题如何借助mocha/chai、sinon测试promise?问题说明假设封装了一个函数,发起异步请求任务,成功执行onSuccess、失败执行onError。同时为了避免异步任务依赖外部环境,使用sinon做替身。这种情况是否需要编写测试代码,如果需要该如何编写?相关代码// 如何测试?// 发出异步任务,成功执行onSuccess,失败执行onErrormodule.exports = function (onSuccess, onError) { var p = new Promise(function (resolve, reject) {
setTimeout(function () {
resolve('ok')
}, 1000)
})
p.then(function (response) {
onSuccess(response)
}).catch(function (error) {
onError(error)
})
}
1 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
mocha本来就支持异步的, 下面是参考代码
var myModule = require('../') //引入你的模块describe('测试myModule', function () { it('成功执行onSuccess', function (done) { myModule(function(){done()},function(){done('执行逻辑错误')}); } it('出错执行onError', function (done) { myModule(function(){done('执行逻辑错误')},function(){done()}); } }
添加回答
举报
0/150
提交
取消