【发布时间】:2019-09-26 21:51:12
【问题描述】:
我使用带有 JEST 和 Enzyme 的 React 16.3 作为我的测试实用程序,我有一个输入,当用户输入电子邮件并模糊该字段时,会调用一个函数 (handleInputBlur)。在该函数中,我正在更新状态 (setState) 和 setState() 回调,我正在调用另一个函数并将最初传递给 handleInputBlur 的事件传递给。
现在据我了解,由于 setState 是异步的,React 不允许在 setState 的回调中传递事件。所以,我添加了event.persist() 来保持这个事件。到目前为止一切正常。
当我尝试运行我编写的 JEST 测试用例并在输入上模拟 blur 时,它会调用该函数但会引发错误:
TypeError: e.persist is not a function
我无法理解要解决这个问题究竟要做什么。
【问题讨论】:
-
不看代码,很难找到你的错误原因。请添加代码。
标签: javascript reactjs react-redux jestjs enzyme