我正在尝试使用Chai-as-Promised、Mocha和“应该”方言来测试被拒绝的 Promise 的细节。Promise 由bluebird实现。
这工作正常:
it('it should be rejected when given bad credentials', function () {
var promiseOfUsers = db.auth("bad", "credentials").getUsers();
return promiseOfUsers.should.eventually.be.rejectedWith(Error)
});
该错误有一个“状态”属性。我想断言状态是 401
这不起作用:
it('it should be rejected when given bad credentials', function () {
var promiseOfUsers = db.auth("bad", "credentials").getUsers();
return promiseOfUsers.should.eventually.be.rejectedWith(Error)
.that.has.property('status')
.that.equals(401)
});
似乎在不引用“rejected”或rejectedWith(Error) 的情况下进行断言的任何尝试都会失败,并且只会将错误打印到控制台。
如何深入了解拒绝的原因?