Есть некоторый компонент, где я использую ассинхронную функцию внутри 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