Configuración
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Cuando los usuarios interactúan en el navegador (por ejemplo, presionando teclas), interactúan
con una capa de UI que el navegador les muestra. El navegador interpreta esta
entrada, posiblemente modifica el DOM subyacente y despacha
eventos trusted.
La capa de UI y los eventos trusted no están disponibles programáticamente.
Por lo tanto, user-event debe implementar soluciones alternativas y simular la capa de UI para
reproducir interacciones de usuario como ocurrirían en el navegador.
Iniciando una sesión con setup()
setup(options?: Options): UserEvent
La API userEvent.setup() aplica estas soluciones al documento y permite
configurar una "instancia" de user-event.
Los métodos de esta instancia comparten un estado de dispositivo de entrada, por ejemplo, qué teclas están
presionadas.
Esto permite escribir múltiples interacciones consecutivas que se comportan exactamente como las interacciones descritas por un usuario real.
import userEvent from '@testing-library/user-event'
const user = userEvent.setup()
await user.keyboard('[ShiftLeft>]') // Press Shift (without releasing it)
await user.click(element) // Perform a click with `shiftKey: true`
La instancia expone otra API .setup() que permite configurar otra
instancia compartiendo el mismo estado de dispositivo de entrada.
La API Clipboard
normalmente no está disponible fuera de contextos seguros.
Para habilitar pruebas de flujos de trabajo que involucren el portapapeles,
userEvent.setup() reemplaza window.navigator.clipboard con un
stub.
APIs directas
También puedes invocar las APIs directamente en la exportación predeterminada. Esto llamará
internamente a setup y luego usará el método en la instancia.
Esto existe para facilitar la transición a la versión 14 y escribir pruebas simples. Se recomienda
usar los métodos en las instancias devueltas por userEvent.setup().