Перейти к содержимому

🎯📖_pr. «030_Text.Highlighted.ForAudio» — тестировать программы на JS. (шпаргалка)

Описываю как тестировать программы на JS посредством Vitest 

https://vitest.dev — Vitest — vitest.dev — это официальный сайт Vitest, современного и очень быстрого фреймворка для тестирования кода на JavaScript и TypeScript. Тестовая среда нового поколения. Vitest был создан той же командой специально для того, чтобы идеально работать в паре с Vite. Vitest — это «проверка качества» кода

В папке «src» файлы которые нужно тестировать.

В папке «tests» файлы с тестами.

project/

├── src/
│   └── *.js
├── tests/
│   └── *.test.js
├── package.json

Войти в подпапку с примером например «020_example_filterAdults» и находясь там открываем терминал с текущим путем и выполнить команду. Предварительно должна быть установлена библиотека «Vitest» (можно также использовать для тестирования библиотеку «Jest» создана в Facebook и лучше поддерживает «React Native»).

Также предварительно нужно создать файл «package.json»

npm init -y

Нужно открыть файл «package.json» и внести в него изменения.

"scripts": {

    "test": "vitest"

  },

Установите Vitest. Выполните эту команду в терминале, чтобы добавить Vitest в зависимости для разработки вашего проекта:

  npm install -D vitest

            в результате будет создана папка.

Можно запускать тестирование:

 npm test

npm test запустит Vitest в watch-режиме — он будет следить за изменениями файлов и автоматически перезапускать тесты при каждом сохранении.

Команда npx vitest run (которую я использовал) — это одноразовый запуск. А npm test (он же vitest без run) — постоянный. 

npm test = npx vitestpackage.json прописано "test": "vitest", поэтому npm test вызывает vitest, что эквивалентно npx vitest.)

npm — менеджер пакетов. Устанавливает, удаляет, запускает скрипты из package.json.

npx — запускает исполняемые файлы пакетов напрямую.

npm test          → ищет скрипт "test" в package.json → выполняет "vitest"
npx vitest        → ищет исполняемый файл vitest в node_modules/.bin/ → запускает

Основное отличие: npm работает через скрипты в package.json, а npx запускает команду пакета напрямую, даже если она не прописана в скриптах.

npm test — это стандартное соглашение. Любой разработчик, открыв незнакомый проект, знает: npm test запустит тесты, не вникая какой фреймворк используется (Vitest, Jest, Mocha и т.д.).

npx vitest — нужно знать конкретный инструмент.

Для одного человека на одном проекте разницы нет.


Информация о файле «package.json»:

"type": "module" — позволяет использовать import/export в JS.

"devDependencies" содержит Vitest, чтобы тестировать код.

Пример файла «package.json»:

{
  "name": "pr-testirovanie-html-js",
  "version": "1.0.0",
  "description": "Мини-проект для тестирования JS с Vitest",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "vitest",
    "test:watch": "vitest --watch"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "vitest": "^4.0.16"
  }
}