簡體   English   中英

event.persist不是函數-JEST&Enzyme

[英]event.persist is not a function - JEST & Enzyme

我使用帶有JEST和Enzyme的React 16.3作為我的測試實用程序,我有一個輸入,當用戶輸入電子郵件並模糊字段時,會調用一個函數(handleInputBlur)。 在該函數中,我正在更新狀態(setState)和setState()回調,在調用另一個函數,並傳遞最初傳遞給handleInputBlur的事件。

現在,據我所知,由於setState是異步的,因此React不允許在setState的回調中傳遞事件。 因此,我添加了event.persist()來保留事件。 到目前為止一切正常。

當我嘗試運行我編寫的JEST測試用例並在輸入上模擬blur時,它將調用該函數,但會引發錯誤:

TypeError: e.persist is not a function

我無法理解要解決此問題的確切方法。

模擬事件時,可以將模擬事件對象傳遞給它,例如

wrapper.find('a').simulate('blur', { persist: jest.fn()});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM