我试图抓住一个应由函数getUserRecommendations
抛出的错误。这是我的例子:
it('should throw an error when no user ID is provided', (done) => {
expect(async () => {
await Client.getUserRecommendations(null, {})
}).to.throw(/Missing/)
})
不幸的是它没有用,我得到的结果是我的测试没有传递这条消息:
AssertionError: expected [Function] to throw an error
答案 0 :(得分:6)
您设置测试的方式不起作用,因为expect.to.throw
不期望承诺。至少我认为这是基于this issue发生的事情。
最好的选择是使用chai-as-promised
并执行以下操作:
it('should throw an error when no user ID is provided', () => {
expect(Client.getUserRecommendations(null, {})).be.rejectedWith(/Missing/);
});