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 .
shallowMount()
-
Arguments:
-
{Component} component
-
{Object} options
-
{HTMLElement|string} string
-
{boolean} attachToDocument
-
{Object} context
-
{Array<Component|Object>|Component} children
-
-
{Object} slots
-
{Array<Component|Object>|Component|String} default
-
{Array<Component|Object>|Component|String} named
-
-
{Object} mocks
-
{Object|Array<string>} stubs
-
{Vue} localVue
-
-
-
Returns:
{Wrapper}
-
Options:
See options
- Usage:
Like
mount
, it creates a
Wrapper
that contains the mounted and rendered Vue component, but with stubbed child components.
Without options:
import { shallowMount } from '@vue/test-utils'
import Foo from './Foo.vue'
describe('Foo', () => {
it('renders a div', () => {
const wrapper = shallowMount(Foo)
expect(wrapper.contains('div')).toBe(true)
With Vue options:
import { shallowMount } from '@vue/test-utils'
import Foo from './Foo.vue'
describe('Foo', () => {
it('renders a div', () => {
const wrapper = shallowMount(Foo, {
propsData: {
color: 'red'
expect(wrapper.props().color).toBe('red')
Attach to DOM:
import { shallowMount } 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 = shallowMount(Foo, {
attachTo: div
expect(wrapper.contains('div')).toBe(true)
wrapper.destroy()
Default and named slots:
import { shallowMount } 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 = shallowMount(Foo, {
slots: {
default: [Bar, FooBar],
fooBar: FooBar, // Will match <slot name="FooBar" />,
foo: '<div />'
expect(wrapper.contains('div')).toBe(true)
Stubbing global properties:
import { shallowMount } 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 = shallowMount(Foo, {
mocks: {
$route
expect(wrapper.vm.$route.path).toBe($route.path)