我如何用反应测试库开玩笑地测试承诺功能?

How can i test the promise function at jest with react testing library?

我有这个功能,我正在尝试在这里测试它:

我正在尝试使 onClose 函数可调用,但我在这一行收到错误 => expect(onClose).toHaveBeenCalled();

由于您的 onClose 函数不是直接调用,而是在其他操作后异步调用,因此您应该使用反应测试库 async API waitFor 方法,该方法描述了您期望最终发生的事情。

你的期望应该是这样的

await waitFor(() => expect(onClose).toHaveBeenCalled());

另外不要忘记用 async 包裹你的测试块,以便能够使用 await.