测试承诺链以 .catch 结尾(按照承诺使用 Mocha / Chai)
Test Promise chain ends in .catch (using Mocha / Chai as promised)
我已经看到了很多关于测试 Promise 拒绝的信息,但想知道是否有人知道如何编写一个如果承诺链不以".catch"结尾就会失败的测试?我正在尝试防止吞咽错误。
例如,这将通过测试:
doSomething() // returns a Promise
.then(doSomethingElse) // returns a Promise
.then(handleResult)
.catch((err) => { console.log(err); }); // logs errors from any rejections
这将失败:
doSomething() // returns a Promise
.then(doSomethingElse) // returns a Promise
.then(handleResult); // no catch = swallowed errors
我正在使用摩卡和柴如承诺的那样。我没有使用任何承诺库,只是原生 es2015。
您需要返回承诺并测试它被拒绝
在应该的风格:
return doSomething()
.then(doSomethingElse)
.then(handleResult).should.be.rejectedWith(Error);
或
return doSomething()
.then(doSomethingElse)
.then(handleResult).should.be.rejected;
return
很重要
相关文章:
- 我的职位回报太快了,如何做出承诺
- 打破承诺链的好方法是什么
- 从函数返回角度承诺
- 我怎样才能获得承诺的价值
- 延期承诺值未更新/解析/延期
- 在承诺链中处理早期回报的最佳方式
- 承诺在非节点式回调上使用Bluebird
- Mocha react本地路由器编译错误
- 简单的ES6承诺问题-交换解决和拒绝参数
- 组合承诺和非承诺值
- 带有对象/原型的链式承诺(Q延期)
- 如何按照承诺使用mocha/chai/chai测试ES7异步函数
- 和Mocha一起等待未兑现的承诺
- 在 Mocha 中,返回将被拒绝的承诺与调用 done(err) 的效果不同
- 测试承诺链以 .catch 结尾(按照承诺使用 Mocha / Chai)
- 测试Express.js res.render在承诺与Mocha&Sinon spy
- 为什么在使用承诺和跳过代码时,Mocha测试会超时?
- 我如何按顺序运行mocha集成测试来链接承诺?
- 使用Mocha和chai -as- committed测试被拒绝承诺的特定属性
- 如何用Mocha测试承诺