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



我有一个带有子命令的命令,这些子命令是以声明方式注册的,我对使用这种命令行处理风格感兴趣:

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

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

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

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

最新更新