Configuration
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Lorsque les utilisateurs interagissent dans le navigateur, par exemple en appuyant sur des touches du clavier, ils interagissent
avec une couche d'interface utilisateur que le navigateur leur présente. Le navigateur interprète ensuite
ces entrées, modifie potentiellement le DOM sous-jacent en conséquence et déclenche
des événements dits de confiance.
La couche d'interface et ces événements de confiance ne sont pas accessibles programmatiquement.
C'est pourquoi user-event doit mettre en place des solutions de contournement et simuler la couche d'interface pour
reproduire les interactions utilisateur telles qu'elles se produiraient dans le navigateur.
Démarrer une session avec setup()
setup(options?: Options): UserEvent
L'API userEvent.setup() applique ces solutions de contournement au document et permet
de configurer une "instance" de user-event.
Les méthodes de cette instance partagent un état commun de périphérique d'entrée, par exemple quelles touches sont
enfoncées.
Cela permet d'écrire plusieurs interactions consécutives qui se comportent exactement comme les interactions décrites d'un utilisateur réel.
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`
L'instance expose une autre API .setup() qui permet de configurer une nouvelle
instance partageant le même état de périphérique d'entrée.
L'API Clipboard
n'est généralement pas disponible en dehors d'un contexte sécurisé.
Pour permettre le test des flux impliquant le presse-papiers,
userEvent.setup() remplace window.navigator.clipboard par un
stub.
APIs directes
Vous pouvez également appeler les APIs directement via l'export par défaut. Cela appellera
interne setup puis utilisera la méthode sur l'instance.
Cette approche existe pour faciliter la transition vers la version 14 et l'écriture de tests simples. L'utilisation
des méthodes sur les instances retournées par userEvent.setup() est recommandée.