Как передать параметры компилятора в mocha

Я запускаю команду mocha для запуска моих тестов

$ ./node_modules/.bin/mocha --compilers coffee:coffee-script -R spec

Я хочу передать дополнительные параметры компилятору coffee- script (--байте, чтобы избежать внешнего закрытия, которое вводится при компиляции .coffee в .js). Есть ли способ сделать это? Я попробовал

$ ./node_modules/.bin/mocha --compilers coffee:coffee-script --bare -R spec

но это выглядит неправильно. Он также не сказал, что -bare не является допустимым вариантом для мокко.

  error: unknown option `--bare'

Ответ 1

Параметр -compiler не поддерживает это, но вы можете написать script, который активирует компилятор с вашими параметрами, а затем использовать параметр mocha --require, чтобы активировать вашу регистрацию script. Например, создайте файл в корне проекта под названием babelhook.js:

// This file is required in mocha.opts
// The only purpose of this file is to ensure
// the babel transpiler is activated prior to any
// test code, and using the same babel options

require("babel-register")({
  experimental: true
});

Затем добавьте это в mocha.opts:

--require babelhook

И что это. Mocha будет требовать babelhook.js перед любыми тестами.

Ответ 2

Просто добавьте файл .babelrc в свой корень. Тогда любые примеры babel (сборка, время выполнения, тестирование и т.д.) Будут ссылаться на это. https://babeljs.io/docs/usage/babelrc/

Вы даже можете добавить определенные параметры конфигурации для среды.

Ответ 3

В случае, если кто-то наткнется на это. "Экспериментальный" вариант в Babel устарел. Теперь ваш "babelhook.js" должен читать:

// This file is required in mocha.opts
// The only purpose of this file is to ensure
// the babel transpiler is activated prior to any
// test code, and using the same babel options

require("babel/register")({
  stage: 1
});