Рассмотрим следующие функции
const aPrivateAsyncQuery = async () => {
try {
return await axios.post('someURL', {query: 'someQuery'})
} catch (error) {
throw new Error(`A thrown error: ${error}`)
}
}
export const aPublicAsyncFunction = async someVariable => {
const data = await aPrivateAsyncQuery()
if (data[someVariable]){
return data[someVariable]
}
return {}
}
Как можно проверить, что aPrivateAsyncQuery
выдает ошибку при вызове aPublicAsyncFunction
?
В настоящее время у меня есть следующий тест ... в котором упоминается, что броска не было.
it('should throw when nested function throws', async () => {
const someVariable = 'foo'
axios.post.mockRejectedValue(new Error('bar'))
expect(async () => { await aPublicAsyncFunction(someVariable) }).toThrow()
})
Заранее спасибо!
РЕДАКТИРОВАТЬ
Следующая реализация работала отлично:
it('should throw when nested function throws', async () => {
const someVariable = 'foo'
axios.post.mockRejectedValue(new Error('bar'))
await expect(aPublicAsyncFunction(someVariable)).rejects.toThrowError('bar')
})