Picocli: как получить доступ к подкомандам после parseWithHandler(новый RunAll(), args)?
У меня есть команда с подкомандами, которые зарегистрированы декларативно, и я заинтересован в использовании этого стиля обработки командной строки:
List<Object> parsed = commandLine.parseWithHandler(new RunAll(), args);
Однако для целей модульного тестирования я хочу получить доступ к объекту подкоманды, чтобы увидеть, установлены ли для него правильные параметры и т. Д. Существует ли способ доступа к объекту подкоманды при использовании RunAll
?
(Смотрите также https://github.com/remkop/picocli/issues/489)
1 ответ
В модульном тесте, если у вас есть доступ к CommandLine
объект, вы можете позвонить CommandLine.getParseResult()
, Вы можете запросить этот объект, чтобы увидеть, какие параметры были сопоставлены. Вы также можете перейти в подкоманды с помощью ParseResult.hasSubcommand()
а также ParseResult.subcommand()
,