Skip to content

Latest commit

 

History

History
165 lines (113 loc) · 3.75 KB

options.md

File metadata and controls

165 lines (113 loc) · 3.75 KB

Options de montage

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.

vue-test-utils Options de montage spécifiques

context

  • 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)

slots

  • 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)

stubs

  • 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
  }
})

mocks

  • 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)

localVue

  • 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)

attachToDocument

  • 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.

attrs

  • type : Objet

Fixe l'objet $attrs à l'instance du composant.

listeners

  • type : Objet

Fixe l'objet $listeners à l'instance du composant.

clone

  • 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