Описать не определено

Начал с 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
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
944
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам нужно импортировать 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.

Другие вопросы по теме

«Поддержка экспериментального синтаксиса jsx в настоящее время не включена» в Vitest
Nextjs, Jest: недопустимый тип элемента: ожидалась строка (для встроенных компонентов) или класс/функция (для составных компонентов), но получено: объект
Почему mock не сбрасывается в Jest для модульного тестирования aws sdk v3?
Ошибка Jest: невозможно использовать оператор импорта вне модуля
Jest-тестирование службы, использующей Neo4J и MongoDb, возвращает ошибку: «TypeError: невозможно прочитать свойства неопределенного (чтение« inspectModules »)»
Экспорт функции стрелки в ответ для модульного тестирования в Jest
Как проверить несколько возвращаемых значений с помощью Jest
Как я могу обойти перехват Jest загрузчика модулей Node?
Как я могу игнорировать функцию для покрытия?
В маршруте NodeJS + Express, когда возникает ошибка с определенным сообщением, где это сообщение находится в ответе?