Проблема vitest с файлом конфигурации «Ожидаемое выражение» Ошибка при тестировании компонента React

У меня возникла проблема при запуске тестов с помощью Vitest в проекте React. Тест завершается с ошибкой «Ожидается выражение», а добавление журналов консоли в тестовый файл не отображает никаких выходных данных, что указывает на то, что тест, возможно, вообще не выполняется.

вот конфигурация vite для vitest и файл setupTest

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [react()],
    test: {
    globals:true,
        environment: "jsdom",
        setupFiles: ["./testSetup.js"],
    },
    server: {
        proxy: {
            "/api": {
                target: "http://localhost:3003",
                changeOrigin: true,
            },
        },
    },
});
import "@testing-library/jest-dom";
import { cleanup } from "@testing-library/react";
import { afterEach } from "vitest";

// runs a clean after each test case (e.g. clearing jsdom)
afterEach(() => {
    cleanup();
});

ошибка, отображаемая в терминале, такова:

Error: Expression expected
 ❯ getRollupError node_modules/vitest/node_modules/rollup/dist/es/shared/parseAst.js:392:41
 ❯ convertProgram node_modules/vitest/node_modules/rollup/dist/es/shared/parseAst.js:1056:26
 ❯ parseAstAsync node_modules/vitest/node_modules/rollup/dist/es/shared/parseAst.js:1898:93
 ❯ ssrTransformScript node_modules/vitest/node_modules/vite/dist/node/chunks/dep-D8YhmIY-.js:52863:11

Я попытался удалить глобальные переменные, но увидел эту ошибку:

 ❯ node_modules/@testing-library/jest-dom/dist/index.mjs:10:1
      8| import 'css.escape';
      9| 
     10| expect.extend(extensions);
       | ^
     11| 
 ❯ testSetup.js:3:31

также я пытаюсь заменить импорт "@testing-library/jest-dom"; импортировав "@testing-library/jest-dom/vitest", но та же проблема

🤔 А знаете ли вы, что...
С React можно легко интегрировать с существующими проектами и кодом.


1
53
1

Ответ:

Решено

Хорошо, у меня была такая же проблема (Error: Expression expected), и вот что ее исправило. Файл, который вы тестируете, и тестовый файл должны иметь одинаковые расширения.

В моем случае у меня был файл компонента с именем CompleteChip.jsx и тестовый файл с именем CompleteChip.test.js. Что исправило ошибку, так это изменение расширения тестового файла на CompleteChip.test.jsx.