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.
Selectors
A lot of methods take a selector as an argument. A selector can either be a CSS selector, a Vue component, or a find option object.
CSS Selectors
Mount handles any valid CSS selector:
- tag selectors (
div,foo,bar) - class selectors (
.foo,.bar) - attribute selectors (
[foo],[foo="bar"]) - id selectors (
#foo,#bar) - pseudo selectors (
div:first-of-type)
You can also use combinators:
- direct descendant combinator (
div > #bar > .foo) - general descendant combinator (
div #bar .foo) - adjacent sibling selector (
div + .foo) - general sibling selector (
div ~ .foo)
Vue Components
Vue components are also valid selectors.
// Foo.vue
export default {
name: 'FooComponent'
}
import { shallowMount } from '@vue/test-utils'
import Foo from './Foo.vue'
const wrapper = shallowMount(Foo)
expect(wrapper.is(Foo)).toBe(true)
Find Option Object
Name
Using a find option object, Vue Test Utils allows for selecting elements by a name of component on wrapper components.
const buttonWrapper = wrapper.find({ name: 'my-button' })
buttonWrapper.trigger('click')
Ref
Using a find option object, Vue Test Utils allows for selecting elements by $ref on wrapper components.
const buttonWrapper = wrapper.find({ ref: 'myButton' })
buttonWrapper.trigger('click')