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.

mount()

  • Arguments:

    • {Component} component
    • {Object} options
  • Retours: {Wrapper}

  • Options:

Voir options

  • Usage:

Crée un Wrapper qui contient le composant Vue monté et rendu.

Sans les options:

import { mount } from '@vue/test-utils' import Foo from './Foo.vue' describe('Foo', () => { it('renders a div', () => { const wrapper = mount(Foo) expect(wrapper.contains('div')).toBe(true) }) }) 

Avec les options Vue:

import { mount } from '@vue/test-utils' import Foo from './Foo.vue' describe('Foo', () => { it('renders a div', () => { const wrapper = mount(Foo, { propsData: { color: 'red' } }) expect(wrapper.props().color).toBe('red') }) }) 

Attacher au DOM:

import { mount } from '@vue/test-utils' import Foo from './Foo.vue' describe('Foo', () => { it('renders a div', () => { const div = document.createElement('div') document.body.appendChild(div) const wrapper = mount(Foo, { attachTo: div }) expect(wrapper.contains('div')).toBe(true) wrapper.destroy() }) }) 

Les slots par défauts et nommés :

import { mount } from '@vue/test-utils' import Foo from './Foo.vue' import Bar from './Bar.vue' import FooBar from './FooBar.vue' describe('Foo', () => { it('renders a div', () => { const wrapper = mount(Foo, { slots: { default: [Bar, FooBar], fooBar: FooBar, // Correspondra `<slot name="FooBar" />`. foo: '<div />' } }) expect(wrapper.contains('div')).toBe(true) }) }) 

Les propriétés globales des Stubbing :

import { mount } from '@vue/test-utils' import Foo from './Foo.vue' describe('Foo', () => { it('renders a div', () => { const $route = { path: 'http://www.example-path.com' } const wrapper = mount(Foo, { mocks: { $route } }) expect(wrapper.vm.$route.path).toBe($route.path) }) }) 

Les composants Stubbing

import { mount } from '@vue/test-utils' import Foo from './Foo.vue' import Bar from './Bar.vue' import Faz from './Faz.vue' describe('Foo', () => { it('renders a div', () => { const wrapper = mount(Foo, { stubs: { BarFoo: true, FooBar: Faz, Bar: { template: '<div class="stubbed" />' } } }) expect(wrapper.contains('.stubbed')).toBe(true) expect(wrapper.contains(Bar)).toBe(true) }) }) 

Avis de déprédation:

Lors du stubbing de composants, la fourniture d'une chaîne de caractères (ComponentToStub : '<div class="stubbed" />) n'est plus supportée.