1.最近开始学习es6,但是做promise单元测试的时候出现了问题
2.问题如下:
进行promise.all测试的时候出现了错误 **debug.html:38 Error: timeout of 6000ms exceeded. Ensure the done() callback is being called in this test.** 普通promise使用不会出现这个错误.
3.网上找了一些,并没有想要的答案,不知道在这里能否找到答案
代码如下
1:) PromiseObject.js 中的某一段
2): BaseSyntax.spec.js 测试代码中的某一段
目前状况就是这样,如果在 expect(data).to.deep.equal([1,2,3]); 这一地改为 [1,3,2]的时候 也就是说结果出错 ,则会提示timeout ,结果正常的话,则提示测试成功。
补充:经过刚才的调试与猜想在@leftstick说的方式中 加入了 catch(error=>{done(error)}) 这个时候报错,上一级捕获这个异常提示测试失败。
猜测except中的异常被catch捕获,然后没有对异常做相应的处理,并且没有冒泡到上一级,导致测试通过。
慕侠2389804
相关分类