mocha async API
正确地。使失败
done
如前所述,你在
then
处理程序抛出,跳过第一个
完成
调用并转到
catch
处理程序反过来重新抛出相同的错误,同样地阻止您到达第二个错误
回拨。
完成
,导致mocha测试超时,可能会显示有关未处理拒绝的警告消息,具体取决于您使用的节点版本。
最快的修复方法是正确使用done回调:
it('Should return false if not authorized', function(done) {
authController.isAuthorizedAsync(['user'], 'admin')
.then(isAuth => {
assert.equal(true, isAuth);
done();
})
.catch(err => {
done(err); // Note the difference
});
});
it('Should return false if not authorized', function() {
return authController.isAuthorizedAsync(['user'], 'admin')
.then(isAuth => {
assert.equal(true, isAuth);
});
});