Начал с vite для приложения React, но не смог заставить работать шуточные тесты. Я пытаюсь использовать vitest с экспериментальным модулем ES.
я осознаю
FAIL src/App.test.tsx [ src/App.test.tsx ]
ReferenceError: describe is not defined
Я добавил шутку, мокко вите и витест, но это не помогло.
Мой package.json имеет
"devDependencies": {
"@testing-library/react": "^14.0.0",
"@types/jest": "^29.5.0",
"@types/react": "^18.0.28",
"@types/react-dom": "^18.0.11",
"@vitejs/plugin-react-swc": "^3.0.0",
"jest": "^29.5.0",
"mocha": "^10.2.0",
"typescript": "^4.9.3",
"vite": "^4.2.0",
"vitest": "^0.29.8"
}
Моя конфигурация vite:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
export default defineConfig({
plugins: [react()],
}
Моя тестовая конфигурация vite:
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vitest/config'
export default defineConfig({
plugins: [react()],
test: {
include: ['**/*.test.tsx'],
},
})
Это от бега витест.
Если я запускаю шутку напрямую с
jest
или
node --experimental-vm-modules node_modules/jest/bin/jest.js
я получил
SyntaxError: /home/durrantm/Dropnot/vite/thedeiscorecard-vite/src/App.test.tsx:
Support for the experimental syntax 'jsx' isn't currently enabled
Вам нужно импортировать describe
из vitest.
import { describe } from 'vitest';
ваш тестовый код использует глобальный режим, вы должны включить его:
vitest.config.ts
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vitest/config'
export default defineConfig({
plugins: [react()],
test: {
include: ['**/*.test.tsx'],
globals: true
},
})
также, если вы используете машинописный текст, вам нужно добавить стили, чтобы воспользоваться подсказкой: tsconfig.json
{
...
"compilerOptions": {
...
"types": ["vitest/globals"]
}
}
Хотя API-интерфейсы vitest предназначены для шуток, это не означает, что jest может запускать тестовый код, написанный для vitest.