Che*_*Lin 8 javascript mocha.js babeljs
__DEVTOOLS__我的源代码中有一个全局变量.通常我使用webpack DefinePlugin将其定义为布尔值.
new webpack.DefinePlugin({
__DEVTOOLS__: true
})
Run Code Online (Sandbox Code Playgroud)
但在我的mocha测试中,我只想使用babel/register并且不想在我的测试中使用wepack.是否有任何方法可以像webpack DefinePlugin一样注入全局变量,或者在编译时至少忽略全局变量?
小智 8
我最近遇到了这个问题并且添加global.__DEVTOOLS__ = true;到一个before块或者测试中的任何地方都不适合我.我最终解决了这个问题,创建了一个单独的脚本,通过--require标志传递给mocha cli .
// config/mocha-setup.js
require('babel-register');
global.__DEVTOOLS__ = true;
Run Code Online (Sandbox Code Playgroud)
然后配置test命令:
// package.json
scripts: {
test: mocha --require ./config/mocha-setup
}
Run Code Online (Sandbox Code Playgroud)
使用Mocha,您可以为global对象分配属性,我认为这将达到您想要的效果:
global.__DEVTOOLS__ = true;
Run Code Online (Sandbox Code Playgroud)
您可以将它放在任何您想要的位置,例如一个before块,但如果您已经有一个helper.js或者setup.js在测试之前加载的文件,那么这将是一个放置它的好地方.
| 归档时间: |
|
| 查看次数: |
2233 次 |
| 最近记录: |