如何解决在并行运行时获取 mocha 上的原始 process.argv 值
我刚刚升级到 mocha 8 并启用了并行运行的测试文件。它会生成多个浏览器窗口,因此可以正常工作,但现在 process.argv
值已更改。
如何获取传递给命令的原始参数?
这是我的 .mocharc.json
文件:
{
"timeout": 90000,"extension": ["ts"],"parallel": true,"jobs": 4,"require": [
"./tests/config/init.ts",],"spec": ["./tests/specs/*.ts"]
}
最初,当没有parallel
模式运行时,process.argv
的值为
['/usr/local/Cellar/node/16.0.0_1/bin/node','/Users/current/proj/node_modules/mocha/bin/mocha','-r','/Users/current/proj/node_modules/ts-mocha/src/index.js','./tests/tsconfig.json','--config=./tests/.mocharc.json','--headless',];
在并行模式下运行时,显示为:
['/usr/local/Cellar/node/16.0.0_1/bin/node','/Users/current/proj/node_modules/mocha/lib/nodejs/worker.js',];
这是有道理的,因为现在进程是一个工人,但我需要检索 process.argv
的原始值。
解决方法
最后,我在 GitHub 项目中提出的解决方案是将 process.argv
附加到 process.env
,默认情况下应将其传递给工作进程。
这可以在 Mocha 的配置文件 .mocharc.js
中完成。
基本上,将您想要的标志设置到环境变量中,然后从那里提取它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。