You’re browsing the documentation for Vue Test Utils for Vue v2.x and earlier.
To read docs for Vue Test Utils for Vue 3, click here.
trigger
Déclenche un événement de manière asynchrone sur le nœud DOM de l'Wrapper
.
Le trigger
prend un objet options
optionnel. Les propriétés de l'objet options
sont ajoutées à l'événement.
Le trigger
renvoie une Promesse, qui une fois résolue, garantit la mise à jour du composant.
Le trigger
ne fonctionne qu'avec les événements DOM natifs. Pour émettre un événement personnalisé, utilisez wrapper.vm.$emit('myCustomEvent')
Arguments:
{string} eventType
requis{Object} options
facultatif
Exemple:
import { mount } from '@vue/test-utils'
import sinon from 'sinon'
import Foo from './Foo'
test('trigger demo', async () => {
const clickHandler = sinon.stub()
const wrapper = mount(Foo, {
propsData: { clickHandler }
})
await wrapper.trigger('click')
await wrapper.trigger('click', {
button: 0
})
await wrapper.trigger('click', {
ctrlKey: true // For testing @click.ctrl handlers
})
expect(clickHandler.called).toBe(true)
})
- Définir l'objectif de l'événement :
Sous le capot, trigger
cré un objet Event
et envoie l'événement sur l'élément Wrapper.
Il n'est pas possible de modifier la valeur target
d'un objet Event
, donc vous pouvez pas définir la target
dans l'objet options.
Pour ajouter un attribut à la target
, vous devez définir la valeur de l'élément Wrapper avant d’appeler le trigger
. Vous pouvez le faire avec la propriété element
.
const input = wrapper.find('input')
input.element.value = 100
input.trigger('click')