Ну, мы все знаем, что Jest прав?! Это набор для тестирования Javascript, который в значительной степени гарантирует, что наш код надежен и не содержит надоедливых ошибок. В двух словах, TDD (Test Driven Development) — это стратегия разработки программ, в которой требования к программе превращаются в тестовые примеры, и это важная часть работы любого разработчика!

Осторожно, спойлеры:

  1. К сожалению, пока Jest не понимает ES6 👉 export default <whatever_you_want_to_export>;
  2. Вместо этого он использует синтаксис 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! ☕️ 🚀

Следите за мной в Твиттере| Загляните на мой Гитхаб