我正在使用这个ES6 promises的polyfill和Mocha / Chai。
我的关于promises的断言没有起作用。以下是一个示例测试:
当我运行这个测试时,由于超时而失败。在then块中抛出的断言失败被catch块捕获。我该如何避免这种情况并直接将其抛给Mocha?我可以从catch函数中直接抛出它,但是我如何为catch块做出断言呢?
我的关于promises的断言没有起作用。以下是一个示例测试:
it('should fail', function(done) {
new Promise(function(resolve, reject) {
resolve(false);
}).then(function(result) {
assert.equal(result, true);
done();
}).catch(function(err) {
console.log(err);
});
});
当我运行这个测试时,由于超时而失败。在then块中抛出的断言失败被catch块捕获。我该如何避免这种情况并直接将其抛给Mocha?我可以从catch函数中直接抛出它,但是我如何为catch块做出断言呢?
console.log(err);done(err);
吗? - mido.then()
或.catch()
。这个回答解决了您的问题吗? - Nick McCurdy