我看过很多关于测试 Promise 拒绝的信息,但是想知道是否有人知道如何编写一个如果 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
我正在使用 mocha 和 chai-as-promised。我没有使用任何承诺库,只是使用原生 es2015。