Saltar al contenido principal

Configuración

[Traducción Beta No Oficial]

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().