Ну, мы все знаем, что Jest прав?! Это набор для тестирования Javascript, который в значительной степени гарантирует, что наш код надежен и не содержит надоедливых ошибок. В двух словах, TDD (Test Driven Development) — это стратегия разработки программ, в которой требования к программе превращаются в тестовые примеры, и это важная часть работы любого разработчика!
Осторожно, спойлеры:
- К сожалению, пока Jest не понимает ES6 👉
export default <whatever_you_want_to_export>;
- Вместо этого он использует синтаксис CommonJS 👉
module.exports = <whatever>;
Итак, я столкнулся с вышеуказанной проблемой, я бы назвал ее скорее ментальной занозой, когда я решил использовать импорт/экспорт ES6. Скажем так, после нескольких часов скромного просмотра тем StackOverflow, нескольких чашек кофе и некоторого разочарования я поставил перед собой задачу на день решить проблему! (Никогда не сдавайтесь, даже если вы против больших шансов!)
К счастью, есть способ заставить Jest говорить на современном JavaScript. Все шаги ниже:
Шаг 1. Настройка проекта: создайте каталоги, создайте соответствующие .js
файлы, npm init
, и мы готовы к работе!
Шаг 2. Затем установите Jest! Мы будем использовать npm
для этого!
Для локальной установки:
npm i jest
Для глобальной настройки:
npm i -g jest
Шаг 3. После создания package.json
убедитесь, что ключ test
выглядит примерно так:
// in package.json // other keys are omitted for brevity { “scripts”: { “test”: “jest --coverage” },
👆 Тег --coverage
— это функция отчета о покрытии Jest, которая позволяет проверить, покрывает ли наш код все строки файлов.
Шаг 3.Установите все необходимые зависимости. Оказавшись в корневом каталоге, где находится package.json, введите следующую команду:
npm install --save-dev babel-jest @babel/preset-env
Там есть что распаковать, поэтому я попытаюсь объяснить, что из себя представляет каждый из них:
--save-dev
Необязательный. Это используется для сохранения пакета в целях разработки, то есть: модульные тесты, тесты функций, минимизация и т. д.
вавилонская шутка
Устанавливает babel-jest, который преобразует файлы, если в вашем проекте существует конфигурация babel.
@babel/preset-env
@babel/preset-env
— это интеллектуальная предустановка, которая позволяет вам использовать последнюю версию JavaScript без необходимости микроуправления тем, какие преобразования синтаксиса необходимы вашей целевой среде (средам). Это делает вашу жизнь проще, а пакеты JavaScript меньше!
Шаг 4. Затем создайте файл конфигурации .babelrc
в корневом каталоге нашего проекта. После создания откройте его и добавьте в него следующий код.
{ "presets": ["@babel/preset-env"] }
Шаг 5. Наслаждайтесь синтаксисом ES6 в Jest! ☕️ 🚀
Следите за мной в Твиттере| Загляните на мой Гитхаб