【发布时间】:2019-07-01 10:16:42
【问题描述】:
如果抛出任何错误,我怎样才能使开玩笑测试失败?
我已经尝试了一些,但还没有确定语法。
test('getArcId => Error', async () => {
await expect(client.getArcId('skynet')).rejects.toThrow();
});
我收到错误消息
getArcId › getArcId => 错误
expect(received).rejects.toThrow()
接收到的函数没有抛出
但是以下测试通过了,所以我打算测试的函数确实会抛出(至少就我对抛出的含义的理解而言):
test('getArcId => Error', async () => {
await client.getArcId('skynet').catch(e =>
expect(e.message).toBe('Command failure')
);
});
【问题讨论】:
-
在标题中,它说“抛出任何错误都失败”,而对于代码,它似乎在抛出 NO 错误时失败。
-
稍后我会更多地查看文档,看看我是否误解了某些内容。我希望在 promise 被拒绝时测试成功。
标签: typescript unit-testing error-handling jestjs