我创建了一个 npm 脚本来运行单个笑话测试文件。要运行该文件,我将输入:
> npm start test:1 **/unit-test-filename.test.js
我想让这变得更容易并输入如下内容:
> jt unit-test-filename
所以我尝试创建一个如下所示的 bash 脚本:
#!/bin/bash -x
npm run test:1 **/$1.test.js
不幸的是,当我尝试运行它时,它在最后一个参数周围添加了单引号,这样 npm 脚本就无法找到该文件。我得到这样的输出:
╰─± jt unit-test-filename
+ npm run test:1 '**/unit-test-filename.test.js'
> [email protected] test:1 /Users/path/to/my/current/dir
> cross-env NODE_ENV=dev node ./etc/jest1 "**/unit-test-filename.test.js"
Error!! Test file: **/unit-test-filename.test.js doesn't exist.
我尝试过转义星号并尝试了许多其他方法。这甚至可以通过 bash 脚本实现吗?
答案1
您可能没有globstar
在 shell 脚本中进行设置。
您可以使用 启用它shopt -s globstar
。
#!/bin/bash
set -x
shopt -s globstar
npm run test:1 **/"$1".test.js