为了账号安全,请及时绑定邮箱和手机立即绑定

promise如何使用mocha、sinon进行测试?

promise如何使用mocha、sinon进行测试?

哆啦的时光机 2018-08-17 19:57:16
问题标题如何借助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()});
    }
}


查看完整回答
反对 回复 2018-08-18
  • 1 回答
  • 0 关注
  • 884 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信