我运行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'
答案 0 :(得分:32)
--compiler选项不支持此功能,但您可以编写一个脚本,使用您的选项激活编译器,然后使用mocha' s --require选项激活您的注册脚本。例如,在名为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
就是这样。在进行任何测试之前,摩卡将需要babelhook.js。
答案 1 :(得分:27)
只需在您的根目录中添加.babelrc
文件即可。
那么babel的任何实例(构建,运行时,测试等)都会引用它。
https://babeljs.io/docs/usage/babelrc/
您甚至可以为每个环境添加特定的配置选项。
答案 2 :(得分:4)
如果有人绊倒了这个。 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
});