選項
以下選項允許調整 user-event
API 的行為。它們可以針對每個 setup()
應用。
advanceTimers
user-event
在一些後續輸入之間增加一個 延遲。當使用 假計時器 時,必須將此選項設定為您的測試執行器的時間推進函數。例如
const user = userEvent.setup({advanceTimers: jest.advanceTimersByTime})
您可能會發現建議設定 delay: null
以防止在使用假計時器時測試逾時。這不建議,因為它可能會導致意外行為。從 v14.1 開始,我們建議改用 advanceTimers
選項。
(delay: number) => Promise<void> | void
預設值
:() => Promise.resolve()
applyAccept
當使用 upload()
時,如果元素上存在 accept
屬性,則自動捨棄不符合該屬性的檔案。
預設值
:true
autoModify
我們打算在未來自動為可列印字元套用修飾鍵。
也就是說,如果大寫鎖定未啟動,則 A
表示 {Shift>}a{/Shift}
。
此選項允許您預先選擇退出此變更。
因此,此功能不會構成重大變更。
預設值
:true
delay
在一些後續輸入之間,例如輸入一系列字元,程式碼執行會以 setTimeout
延遲(至少)delay
毫秒。
這會將下一個變更至少移動到下一個巨集任務,並允許其他(非同步)程式碼在事件之間執行。
null
會阻止呼叫 setTimeout
。
預設值
:0
document
該文件。
如果 API 使用元素直接呼叫且未設定,則此預設為元素的所有者文件。否則,它會回退到全域文件。
預設值
:element.ownerDocument ?? globalThis.document
keyboardMap
鍵盤裝置由一組鍵盤按鍵組成。
這允許插入不同的佈局/本地化。
pointerEventsCheck
指標 API 包含檢查元素是否具有或繼承 pointer-events: none
。
已知此檢查成本很高,並且在檢查深度巢狀節點時非常昂貴。
此選項決定指標相關 API 執行檢查的頻率。
這是一個二進位旗標選項。您可以組合多個層級。
PointerEventsCheckLevel.Never
:
不檢查指標事件PointerEventsCheckLevel.EachTarget
:
每個事件目標檢查一次PointerEventsCheckLevel.EachApiCall
:
每個 API 檢查每個事件目標一次PointerEventsCheckLevel.EachTrigger
:
檢查每次使用者互動時的指標事件,這會觸發一堆事件。例如,即使這會觸發pointerup
、mouseup
、click
等,也只會在釋放滑鼠按鈕時檢查一次...
預設值
:PointerEventsCheckLevel.EachApiCall
pointerMap
一組可用的指標按鍵。
這允許插入不同的指標裝置。
預設值
:一個簡單的滑鼠和觸控螢幕
skipAutoClose
type()
會在呼叫結束時自動釋放任何仍然按下的按鍵。
此選項允許選擇退出此功能。
預設值
:false
skipClick
type()
表示點擊元素。
此選項允許選擇退出此功能。
預設值
:false
skipHover
click()
表示先將游標移動到目標元素。
此選項允許選擇退出此功能。
預設值
:false
writeToClipboard
當觸發 cut
或 copy
時,將選取的資料寫入 剪貼簿 API。剪貼簿 API 通常無法用於測試程式碼。我們的 setup()
會將 navigator.clipboard
屬性取代為一個存根。
當直接呼叫 API 時的預設值
:false
當從 setup()
的執行個體呼叫 API 時的預設值
:true