选项
以下选项允许调整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