【问题标题】:How to set positional arguments via npm test script in package.json file?如何通过 package.json 文件中的 npm 测试脚本设置位置参数?
【发布时间】:2021-12-21 02:19:38
【问题描述】:

我现在正在运行 AVA 测试,我有 3 个位置参数将在运行命令时传递。 例如:

npm test <arg1> <arg2> <arg3>

但我希望将前 2 个位置参数放在 packaga.json 文件中,这样我就不必在运行测试时手动传入 3 个参数。

这就是我的测试脚本在 package.json 文件中的样子:

{
    "scripts": {
        "test": "ava -v --serial --timeout='2m'"
    }
}

我试过了,但它不起作用:

{
    "scripts": {
        "test": "ava -v --serial --timeout='2m' -- -- <arg1> <arg2>"
    }
}
npm test <arg3>

注意: 双 '--' 用于分隔 ava 标志和参数。我是从https://github.com/avajs/ava/blob/main/docs/recipes/passing-arguments-to-your-test-files.md找到这个的

那么,我想知道是否有可能实现这一目标?

【问题讨论】:

    标签: npm command-line-arguments package.json ava yargs


    【解决方案1】:

    问题解决了。这是解决方案:

    {
        "scripts": {
            "test": "ava -v --serial --timeout='2m' -- <arg1> <arg2>"
        }
    }
    
    npm test <arg3>
    

    我从脚本中删除了一个“--”,它可以工作。不知道为什么,如果有人知道,请随时告诉我。谢谢!

    【讨论】:

    • 双倍的-- 是当你使用npm test 时,所以npm test -- 终止npm 参数,将所有内容传递给test 脚本中的最后一个命令;所以第二个-- 终止了 AVA 参数。因为您正在更新 test 脚本本身,所以您不需要 -- 来终止 npm 参数。
    • 我明白了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2018-12-04
    • 2012-12-01
    • 2021-10-01
    • 2019-08-14
    • 1970-01-01
    • 2018-02-23
    相关资源
    最近更新 更多