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.
renderToString()
Аргументы:
{Component} component{Object} options{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
Возвращает:
{Promise<string>}Опции:
См. опции
- Использование:
Рендерит компонент в HTML.
renderToString использует vue-server-renderer под капотом для рендеринга компонента в статический HTML.
renderToString включён в пакет @vue/server-test-utils.
Без опций:
import { renderToString } from '@vue/server-test-utils'
import Foo from './Foo.vue'
describe('Foo', () => {
it('renders a div', async () => {
const str = await renderToString(Foo)
expect(str).toContain('<div></div>')
})
})
С опциями Vue:
import { renderToString } from '@vue/server-test-utils'
import Foo from './Foo.vue'
describe('Foo', () => {
it('renders a div', async () => {
const str = await renderToString(Foo, {
propsData: {
color: 'red'
}
})
expect(str).toContain('red')
})
})
С слотами по умолчанию и именованными слотами:
import { renderToString } from '@vue/server-test-utils'
import Foo from './Foo.vue'
import Bar from './Bar.vue'
import FooBar from './FooBar.vue'
describe('Foo', () => {
it('renders a div', async () => {
const str = await renderToString(Foo, {
slots: {
default: [Bar, FooBar],
fooBar: FooBar, // Будет соответствовать <slot name="FooBar" />,
foo: '<div />'
}
})
expect(str).toContain('<div></div>')
})
})
Создание заглушек глобальных свойств:
import { renderToString } from '@vue/server-test-utils'
import Foo from './Foo.vue'
describe('Foo', () => {
it('renders a div', async () => {
const $route = { path: 'http://www.example-path.com' }
const str = await renderToString(Foo, {
mocks: {
$route
}
})
expect(str).toContain($route.path)
})
})