use*_*401 11 javascript unit-testing mocha.js ecmascript-harmony
在我的测试目录中,我有一个mocha.opts
包含以下内容的文件:
--harmony
--recursive
--growl
--reporter spec
--require should
Run Code Online (Sandbox Code Playgroud)
当我运行时mocha
,我收到以下错误:
/project/server/utilities/encryption.js:3
const
^^^^^
SyntaxError: Use of const in strict mode.
Run Code Online (Sandbox Code Playgroud)
当然,这是因为我的使用const
需要ES6 Harmony.当我跑步时mocha --harmony
,我的测试执行得很好.我mocha.opts
文件中的其他条目按预期工作.
由于某种原因,mocha.opts
文件是否忽略了--harmony
参数?或者我做错了吗?摩卡文档没有详细说明,我无法在这里或其他任何地方找到答案.
Lou*_*uis 18
提问者问:
当我跑步时
mocha --harmony
,我的测试执行得很好.[...]由于某种原因,
mocha.opts
文件是否忽略了--harmony
参数?
是的,mocha.opts
忽略了这个--harmony
论点.该--harmony
选项不是Mocha选项,而是Node.js选项.这是一个必须在开始执行之前传递给Node.js的选项.但是,mocha.opts
在Node.js启动后读取,所以即使Mocha能够理解该选项,它也无法对它做任何事情.
但为什么它在命令行上工作?不应该是这样的情况,当我运行时mocha --harmony
,Mocha必须首先启动才能解析--harmony
选项吗?不,因为mocha
脚本启动了"真正的"摩卡.shell脚本检测--harmony
并确保在启动"真实"Mocha时将其传递给Node.js.
归档时间: |
|
查看次数: |
2147 次 |
最近记录: |