У меня возникла проблема при запуске тестов с помощью 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 можно легко интегрировать с существующими проектами и кодом.
Хорошо, у меня была такая же проблема (Error: Expression expected)
, и вот что ее исправило. Файл, который вы тестируете, и тестовый файл должны иметь одинаковые расширения.
В моем случае у меня был файл компонента с именем CompleteChip.jsx
и тестовый файл с именем CompleteChip.test.js
. Что исправило ошибку, так это изменение расширения тестового файла на CompleteChip.test.jsx
.