Mocha / Chai expect.to.throw 不捕获抛出的错误
2022-08-29 23:57:26
我在让 Chai's 为我的节点.js应用的测试中工作时遇到了问题。测试在引发的错误上不断失败,但是如果我将测试用例包装在尝试并捕获并断言捕获的错误中,则它可以正常工作。expect.to.throw
不像我认为的那样工作或什么?expect.to.throw
it('should throw an error if you try to get an undefined property', function (done) {
var params = { a: 'test', b: 'test', c: 'test' };
var model = new TestModel(MOCK_REQUEST, params);
// neither of these work
expect(model.get('z')).to.throw('Property does not exist in model schema.');
expect(model.get('z')).to.throw(new Error('Property does not exist in model schema.'));
// this works
try {
model.get('z');
}
catch(err) {
expect(err).to.eql(new Error('Property does not exist in model schema.'));
}
done();
});
失败:
19 passing (25ms)
1 failing
1) Model Base should throw an error if you try to get an undefined property:
Error: Property does not exist in model schema.