Skip to content
Последняя дата обновления документации:

Тестирование Server-side Rendering

Vue Test Utils предоставляет renderToString для тестирования Vue приложений, которые используют server-side rendering (SSR). Это руководство проведет тебя через процесс тестирования Vue приложений, которые используют SSR.

renderToString

renderToString - это функция, которая преобразует Vue компонент к строке. Это асинхронная функция, которая возвращает Promise, и принимает те же параметры, как и mount или shallowMount.

Давайте рассмотрим простой компонент, который использует onServerPrefetch хук:

ts
function fakeFetch(text: string) {
  return Promise.resolve(text)
}

const Component = defineComponent({
  template: '<div>{{ text }}</div>',
  setup() {
    const text = ref<string | null>(null)

    onServerPrefetch(async () => {
      text.value = await fakeFetch('onServerPrefetch')
    })

    return { text }
  }
})

Вы можете написать тест для этого компонента, используя renderToString:

ts
import { renderToString } from '@vue/test-utils'

it('renders the value returned by onServerPrefetch', async () => {
  const contents = await renderToString(Component)
  expect(contents).toBe('<div>onServerPrefetch</div>')
})

Released under the MIT License.