你能帮我解释一下如何编写捕获错误的测试吗?
例如,我有这个假代码:
export default function someFunc (num) {
return someOtherFunc(num).then(resp => {
return resp + 1
}).catch(() => {
return 0
})
}
这是对之前代码的 Jest 测试。这是成功测试:
test('Should return 3', () => {
expect.assertions(1)
return expect(someFunc(2)).resolves.toBe(3)
})
我想测试捕获错误,我该怎么做?此测试将失败,并出现错误“预期调用一个断言,但只收到零个断言调用”:
test('Should return 3', () => {
expect.assertions(1)
return expect(someFunc()).rejects.toBe(0)
})
抱歉,如果这个问题很愚蠢。我只是在学习 promise
最佳答案
如果您从处理程序返回
,它不会拒绝,而是使用返回值进行解析。因此,在您的情况下,您会得到一个用 0
履行的 promise 。
要拒绝错误,请抛出
它。
关于javascript - 测试捕获 Promise 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45536748/