@Crone01

Как написать тест на компонент vue с ассинхронной операцией внутри script setup()?

Есть некоторый компонент, где я использую ассинхронную функцию внутри script setup:
<template>
   test
</template>

<script setup lang="ts">
await request();
</script>


Во время написания теста появляется варнинг, что этот компонент в родителе должен быть обернут в Suspense

import {
    describe,
    it,
    expect,
    beforeAll,
} from 'vitest';
import {
    shallowMount,
    type VueWrapper,
} from '@vue/test-utils';
import SomeComponent from 'components/SomeComponent.vue';

describe('SomeComponent', async (): Promise<void> => {
    let component: VueWrapper<any>;

    beforeAll(async (): Promise<void> => {
        component = shallowMount(SomeComponent);
    });

    it('should create', async (): Promise<void> => {
        expect(component.exists()).toBeTruthy();
    });

});


варнинг:
Component <Anonymous>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered. 
  at <SomeComponent ref="VTU_COMPONENT" > 
  at <VTUROOT>


тесты пишу с использованием vitest и test-utils
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы