Picocli: как получить доступ к подкомандам после parseWithHandler(new RunAll(), args)?

У меня есть команда с подкомандами, которые зарегистрированы декларативно, и мне интересно использовать этот стиль обработки командной строки:

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

Однако в целях модульного тестирования я хочу получить доступ к объекту подкоманды, чтобы убедиться, что у него установлены правильные параметры и т. д. Есть ли способ получить доступ к объекту подкоманды при использовании RunAll?

(См. также https://github.com/remkop/picocli/issues/489< /а> )


person Remko Popma    schedule 21.09.2018    source источник


Ответы (1)


В модульном тесте, если у вас есть доступ к объекту CommandLine, вы можете вызвать CommandLine.getParseResult(). Вы можете запросить этот объект, чтобы увидеть, какие параметры были сопоставлены. Вы также можете перейти к подкомандам с помощью ParseResult.hasSubcommand() и ParseResult.subcommand().

person Remko Popma    schedule 21.09.2018