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(),

Другие вопросы по тегам