我正在尝试测试ReactJs组件,其中的一个组件具有一种获取数据的方法,而其中的获取具有应有的承诺。因此,我尝试创建一个模拟文件:
const apiFetch = {
value() {
return 42
},
}
module.exports = apiFetch
Run Code Online (Sandbox Code Playgroud)
然后:
const spy = jest.spyOn(apiFetch, 'value')
const isValue = apiFetch.value()
expect(spy).toHaveBeenCalled()
expect(isValue).toBe(42)
Run Code Online (Sandbox Code Playgroud)
测试通过,但是此警告仍在显示。
我又添加了一件事:
process.on('UnhandledPromiseRejectionWarning', (e) => { throw e })
Run Code Online (Sandbox Code Playgroud)
UnhandledPromiseRejectionWarning:未处理的承诺拒绝。该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了未经.catch()处理的诺言而引起的。(拒绝ID:188)