Прежде чем углубляться в код, давайте разберемся с контекстом этой истории.
Я Дэниел, шведский разработчик Javascript с шестилетним стажем разработки. Вот через что я прошел ...

Как и много раз, я настраивал новый проект Node. На этот раз я собирался подойти к тестированию прагматично. Ага, обычное мышление при запуске нового проекта.

Я создал репо, выполнил инициализацию npm и установил свои первые зависимости разработчика. Я пошел на шутку, а вместе с ней и на шутливую шутку. Я настроил babel с @babel/preset-env. @babel/preset-env берет любые целевые среды, которые вы указали и проверяет их на соответствие своим сопоставлениям, чтобы составить список плагинов и передает его Babel. Здорово! Современный Javascript - это способ летать.

Я создал файл index.js и добавил к нему простую функцию. Я поискал в Интернете небольшую забавную функцию. Я не нашел забавного. Вместо этого я выбрал этот.

Теперь я хотел убедиться, что Jest работает, поэтому я создал index.spec.js и добавил первый тест:

Я не должен вам говорить, что это не сработало. Вы понимаете почему?

Нет, ты не можешь, и я тоже!

По крайней мере, Jest выдал мне синтаксическую ошибку:

А, ладно, возможно, это ошибка Babel? Узел не понимает синтаксис распространения ES6. Думаю, мне нужно добавить плагины babel для поддержки синтаксиса распространения?

В следующие 2 часа я перепробовал все возможные способы настройки Babel и Jest. Я пробовал добавлять что-то из популярных Node с шаблонами Jest и даже шаблонами Webpack, но всегда получал одну и ту же ошибку.

На этом этапе я хотел попробовать функцию без синтаксиса распространения, просто чтобы увидеть, как что-то работает на моем компьютере, прежде чем бросить карьеру разработчика.

Я пошел, чтобы удалить 3 точки разворота, и был очень сбит с толку, увидев, что все 3 исчезли после одного сильного удара по моей кнопке Backspace. Я отменил удаление, чтобы посмотреть поближе. 3 точки кажутся только одним персонажем, и теперь мой мозг щелкнул.

Специальный символ Юникода «Горизонтальное многоточие» стоил мне часов.

Будь проклят «Горизонтальное многоточие».

Я глубоко погрузился в специальные символы Юникода, и вот некоторые из символов Юникода из ада, которые могут испортить ваш день:

Для меня проблема заключалась в том, что я искал ошибки Babel, а не синтаксические ошибки, и единственный способ обнаружить эту синтаксическую ошибку заключался в том, что 3 точки были немного меньше и плотнее вместе, чем обычно.

Я счастлив, что поделился этим с вами, чтобы вы не запутались, как и я.

Надеюсь, вам понравилось читать!

Если вам также нравится контент в формате видео, посетите мой канал на YouTube: https://www.youtube.com/c/barelycoding