Как шутка и бабель работают в тандеме и связаны друг с другом, чтобы перенести ES6? - PullRequest
0 голосов
/ 08 июля 2019

У меня есть очень простой тест в Jest, который проверяет, нормально ли работает функция автозапуска плагина, код выглядит следующим образом:

import html from './html.js';
import Glide from '../dist/glide.esm.js';


describe('check autoplay option' , () => {
    // console.log( document );

    beforeEach( () => {
        document.body.innerHTML = html;
    });

    test( 'Check index to be 1 for autoplay' , (done) => {

           let glide = new Glide('#glide' , {
                type : 'slider',
                gap : 0,
                autoplay: 500,
                rewind: false
           }).mount();

           setTimeout( () => {
                console.log( `The glide index is ${glide.index}` );
                expect( glide.index ).toBe(1);
                done();
           }, 510 );

    });

});

Как вы можете видеть, я использую importоператор в моем jest тесте, который не поддерживается по умолчанию в jest, поэтому, если я просто запустил тестовый файл как есть, будет выдано сообщение об ошибке, подтверждающее, что оператор импорта не поддерживается.Поэтому я также устанавливаю следующее в мой файл package.json.("@babel/core": "^7.5.0", "@babel/preset-env": "^7.5.0", "babel-jest": "^24.8.0",).

//package.json
"devDependencies": {
    "@babel/core": "^7.5.0",
    "@babel/preset-env": "^7.5.0",
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0"
} 

И иметь файл babel.config.json со следующими настройками:

// babel.config.js
module.exports = {
    presets: [
      [
        '@babel/preset-env',
        {
          targets: {
            node: 'current',
          },
        },
      ],
    ],
};

Теперь, когда я запускаю npm run test, мой тест запускается, мой вопросКак работает Babel и Jest в тандеме?Что именно здесь связывает Babel с тестом на шутку?

PS Загрузил мой тестовый пакет в репозиторий git здесь .

...