标签: command-line-args

如何对使用命令行参数的工具进行单元测试

我正在使用mocha为使用命令行 -args npm模块的工具编写单元测试.不幸的是,用于mocha的选项是由我的工具中的命令行参数获取的,如果我的工具中不存在这些选项,则会尽职尽责地抛出错误.例如,如果我这样做......

mocha --watch
Run Code Online (Sandbox Code Playgroud)

...然后命令行args抛出这个:

UNKNOWN_OPTION:未知选项: - watch

我可以通过在我的工具中执行类似的操作来解决问题...

var cli = commandLineArgs([
    { name: 'verbose', alias: 'v', type: Boolean },
    { name: 'timeout', alias: 't', type: Number },
    { name: 'watch'} // So I can do mocha --watch
]);
Run Code Online (Sandbox Code Playgroud)

...但后来cli.getUsage()说我的工具有一个watch它实际上没有的选项.当然,如果我想将更多选项传递给摩卡,这种情况就会失控.

什么是"告诉"命令行参数忽略我的场景中的选项的最佳方法?

mocha.js command-line-arguments node.js command-line-args

11
推荐指数
2
解决办法
4314
查看次数