Проблема в том, что в тесте есть небольшая ошибка: намерение состоит в том, чтобы передать два аргумента: параметр "-rc"
и его параметр параметра "BlahBlah"
, но на самом деле тест делает передачу один аргумент "-rc BlahBlah"
со встроенным пробелом.
Picocli не сможет сопоставить эти входные данные и выдаст исключение (возможно, в сообщении об ошибке указано что-то вроде «unknown option -rc BlahBlah», но я сейчас далеко от своего компьютера, поэтому не могу проверить).
Решение состоит в том, чтобы изменить тест на следующее:
String[] args = "-rc BlahBlah".split(" ");
или на это:
String[] args = new String[] {"-rc", "BlahBlah"};
Эта ошибка в тесте на самом деле является довольно распространенной ошибкой.и я сделал эту ошибку сам несколько раз.: -)
В качестве примечания: вы можете использовать функцию трассировки picocli , чтобы помочь с такими проблемами, как эта, установив системное свойство -Dpicocli.trace=DEBUG
.