场景:
package.json
文件中的脚本看起来像:
"test": "node ./out/test/runTest.js"
该CCD_ 3然后调用测试运行程序脚本CCD_。此文件的来源是:https://code.visualstudio.com/api/working-with-extensions/testing-extension
在index.ts中,它使用类似于的源代码
return new Promise((c, e) => {
glob('**/**.test.js', { cwd: testsRoot }, (err, files) => {
在这里,glob指向测试运行时要考虑的src文件。
问题:
出于特定原因,我不想使用正则表达式测试所有文件,如:glob('**/**.test.js'
我想测试特定的文件,并通过package.json
文件中的测试脚本传递它。
例如:我想要
"test": "node ./out/test/runTest.js Filename"
并且index.ts
文件中的glob()
将只考虑执行该Filename
。
在这方面我需要一些帮助。
再次感谢
从package.json中的npm脚本传递参数的方法是通过环境变量。根据平台的不同,语法略有不同。下面的示例适用于Windows。
"test": "set FileName=foo.js&node ./out/test/runTest.js"
参数和值现在可以在process.env 中的runTest.js中使用
console.log(process.env.FileName); //foo.js
在src/test/suite/index.ts
中,打开package.json
文件,搜索"test"
脚本行并解析它以查找参数。
编辑
我需要类似的东西,并在index.js
旁边添加了一个文件:test-arguments.txt
,如果使用typescript,可能在.vscode
文件夹中。
在index.js
中,我打开文件并解析参数。我允许用#
对行进行注释。
通过将这个test-arguments.txt
文件添加到.gitignore
,我不必修改package.json
,我的团队成员可以有不同的参数。