Picocli:parseWithHandler(new RunAll(),args)之后如何访问子命令?

时间:2018-09-21 13:23:08

标签: command-line-interface command-line-parsing picocli

我有一个带有子命令的命令,这些子命令已声明式注册,并且我对使用这种样式的命令行处理感兴趣:

List<Object> parsed = commandLine.parseWithHandler(new RunAll(), args);

但是,出于单元测试的目的,我想访问子命令对象以查看其是否设置了正确的选项,等等。使用RunAll时是否可以访问子命令对象?

(另请参见https://github.com/remkop/picocli/issues/489

1 个答案:

答案 0 :(得分:0)

在单元测试中,如果您有权访问CommandLine对象,则可以调用CommandLine.getParseResult()。您可以查询该对象以查看匹配的选项。您还可以使用ParseResult.hasSubcommand()ParseResult.subcommand()进入子命令。