在vscode测试运行程序脚本(index.ts)中传递命令行参数



场景:

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,我的团队成员可以有不同的参数。

相关内容

  • 没有找到相关文章

最新更新