phr*_*hry 5
我无法回答你关于如何用玩笑来做到这一点的问题,但我希望我可以在这里给你一些见解——从编写大部分 RTKQ 的角度来看,以及我如何想象它以一种稳定的方式进行测试:
我不会用开玩笑的嘲笑。我会模拟 API。
这样做的原因是您的模拟将假定来自 RTKQ 挂钩的某些返回值 - 如果您的假设是错误的,您可能会有一个不错的绿色运行测试,但实际上您的应用程序仍然会失败。
这方面的一个例子是使用skip
而不是检查isUninitialized
- 因为如果你不使用这种情况就不会出现skip
,你可能只是假设你只会在你的组件中看到isLoading
,isSuess
和case 。isError
在许多情况下,这是一个完全有效的假设,但并不总是正确的。模拟 RTKQ 会将由此产生的错误隐藏在绿色测试之后。
相反,我建议使用类似mock service worker的东西来模拟你的 api 端点并让 RTKQ 完成它的工作。这就是我们在自己的测试中测试 RTKQ 的方式 - 欢迎您查看:RTKQ 测试。
更多推荐
如何使用,测试,spyOn,jest,RTKQuery
发布评论