![](/img/trans.png)
[英]How to test useEffect with multiple api calls inside using jest and enzyme
[英]How to test useEffect with Auth api and state inside
useEffect(()=>{
Auth.currentAuthenticatedUser().then((user) => {
setUser(user)
setIsLoading(false)
if (user.challengeName === 'NEW_PASSWORD_REQUIRED') {
navigate('/ForceChangePassword')
}
else{
navigate('/App')
}
}).catch(error => {
console.log('isCurrentAuthenticatedUser- ',error)
setUser(null)
setIsLoading(false)
})
});
我们可以简单地模拟 Auth.currentAuthenticatedUser() 部分。 例如:-
Auth.currentAuthenticatedUser = jest.fn().mockImplementation(()=>Promise.resolve({challengeName: 'NEW_PASSWORD_REQUIRED'}))
如果有人想覆盖 catch 块,那么:-
Auth.currentAuthenticatedUser = jest.fn().mockImplementation(()=>Promise.reject())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.