我使用的是用开玩笑和酶作为我的测试实用程序,我有一个输入,当用户输入电子邮件并模糊字段时,函数(handleinputblur(被调用。在该功能中,我正在更新状态(setState(和setState()
回调,我正在调用另一个功能,并将事件传递给handleInputBlur
最初。
现在,据我了解,由于 setState
是异步反应,因此不允许在setState回调中传递事件。因此,我添加了event.persist()
来坚持事件。到目前为止,一切都很好。
当我尝试运行我编写的嘲笑测试用例并在输入上模拟blur
时,它会调用该功能,但会引发错误:
TypeError: e.persist is not a function
我不明白要解决这个问题到底要做什么。
模拟事件时,您可以将模拟事件对象传递给
wrapper.find('a').simulate('blur', { persist: jest.fn()});