问题标题
如何借助mocha/chai、sinon测试promise?
问题说明
假设封装了一个函数,发起异步请求任务,成功执行onSuccess、失败执行onError。同时为了避免异步任务依赖外部环境,使用sinon做替身。这种情况是否需要编写测试代码,如果需要该如何编写?
相关代码
// 如何测试?
// 发出异步任务,成功执行onSuccess,失败执行onError
module.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)
})
}
mocha本来就支持异步的, 下面是参考代码