Options pour mount
et shallow
. L'objet options peut contenir deux options de montage de vue-test-utils
et des options propres à Vue.
Les options de Vue sont passées dans le composant quand la nouvelle instance est créée (c.à.d store
, propsData
). Pour une liste complète, regardez la documentation de l'API Vue.
- type :
Objet
Passe le contexte à un composant fonctionnel. Peut uniquement être utilisé avec des composants fonctionnels.
Exemple :
const wrapper = mount(Composant, {
context: {
props: { show: true }
}
})
expect(wrapper.is(Composant)).toBe(true)
- type :
{ [name: string]: Array<Composant>|Composant|string }
Procure un objet pouvant contenir des slots à passer au composant. La clé correspond au nom du slot. La valeur peut être soit un composant, soit un tableau de composants ou un template en chaîne de caractères.
Exemple :
import { expect } from 'chai'
import Foo from './Foo.vue'
import Bar from './Bar.vue'
const wrapper = shallow(Composant, {
slots: {
default: [Foo, Bar],
fooBar: Foo, // Va correspondre à <slot name="FooBar" />,
foo: '<div />'
}
})
expect(wrapper.find('div')).toBe(true)
- type :
{ [name: string]: Composant | booléen } | Array<string>
Imiter des composants enfants. Peut être un tableau de noms de composants à imiter, ou un objet.
Exemple :
import Foo from './Foo.vue'
mount(Composant, {
stubs: ['composant-enregistre']
})
shallow(Composant, {
stubs: {
// imiter avec une implémentation spécifique
'composant-enregistre': Foo,
// créer une imitation par défaut
'un-autre-composant': true
}
})
- type :
Objet
Ajoute des propriétés additionnelles à l'instance. Utile pour simuler des injections globales.
Exemple :
import { expect } from 'chai'
const $route = { path: 'http://www.example-path.com' }
const wrapper = shallow(Composant, {
mocks: {
$route
}
})
expect(wrapper.vm.$route.path).toBe($route.path)
- type :
Vue
Une copie local de Vue créée par createLocalVue à utiliser pour monter le composant. Installer des plugins sur cette copie de Vue empêche de polluer la copie original de Vue
.
Exemple :
import { createLocalVue, mount } from 'vue-test-utils'
import VueRouter from 'vue-router'
import { expect } from 'chai'
import Foo from './Foo.vue'
const localVue = createLocalVue()
localVue.use(VueRouter)
const routes = [
{ path: '/foo', component: Foo }
]
const router = new VueRouter({
routes
})
const wrapper = mount(Composant, {
localVue,
router
})
expect(wrapper.vm.$route).toBeInstanceOf(Object)
- type :
booléen
- défaut :
false
Le composant va être attaché au DOM quand celui-ci sera rendu si c'est à true
. Cela peut être utilisé avec hasStyle
pour vérifier des sélecteurs multi-éléments CSS.
- type :
Objet
Fixe l'objet $attrs
à l'instance du composant.
- type :
Objet
Fixe l'objet $listeners
à l'instance du composant.
- type :
booléen
- défaut :
true
Clone le composant avant montage si true
, cela évitera de muter la définition du composant original.
options.mocks
(Objet
): Ajouter des propriétés simulées à l'instance de Vue.
options.localVue
(Objet
): Constructeur de Vue à utiliser dans mount
. Voir createLocalVue