Запуск тестов Mocha 6 ES6 с Babel 7, как настроить? - PullRequest
0 голосов
/ 20 июня 2019

Для библиотеки, написанной в ES6 / 7, я хочу скомпилировать (в ES5) библиотеку в папку dist /.Я также хочу запустить тесты (написанные в ES6 / 7) для этой библиотеки.

Мои зависимости dev выглядят так (package.json):

"devDependencies": {
  "@babel/cli": "^7.4.4",
  "@babel/core": "^7.4.5",
  "@babel/preset-env": "^7.4.5",
  "@babel/register": "^7.4.4",
  "chai": "^4.2.0",
  "mocha": "^6.1.4",
  "sinon": "^7.3.2"
},

Мои сценарии сборки и тестированиявыглядит так (package.json):

"scripts": {
  "test": "mocha --require @babel/register",
  "build": "babel src -d dist --presets=@babel/preset-env"
},

Запуск npm run build работает хорошо.Папка dist / заполняется перенесенными файлами.

Запуск npm run test, похоже, не работает - это моя проблема.

> mocha --require @babel/register

/Users/dro/Repos/lib/node_modules/yargs/yargs.js:1163
      else throw err
           ^

ReferenceError: regeneratorRuntime is not defined

Сначала я получил ошибку импорта,которая была решена путем добавления файла .babelrc.

Ниже приведено содержимое моего файла .babelrc.

{
  "presets": ["@babel/preset-env"]
}

Я читал о regeneratorRuntime, и я получил эта ссылка о babel-polyfill , где они объясняют, что мне не нужен этот polyfill.

Это будет эмулировать полноценную среду ES2015 + (без предложений

Что необходимо для правильной настройки?


Я не использую веб-пакет.

1 Ответ

1 голос
/ 20 июня 2019

Тестирование в ES6 с Мокко и Вавилоном 7. Смотрите здесь: https://dev.to/bnorbertjs/my-nodejs-setup-mocha--chai-babel7-es6-43ei или http://jamesknelson.com/testing-in-es6-with-mocha-and-babel-6/

npm install --save @babel/runtime 
npm install --save-dev @babel/plugin-transform-runtime

И, в .babelrc, добавьте:

{
    "presets": ["@babel/preset-env"],
    "plugins": [
        ["@babel/transform-runtime"]
    ]
}
...