Что это значит, когда клик выходит с кодом выхода 2? - PullRequest
0 голосов
/ 30 августа 2018

Я сейчас тестирую приложение Click CLI и получаю result.exit_code == 2. Почему это происходит?

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Я бегал

result = runner.invoke(cli, ['sync'])

вместо

result = runner.invoke(cli, ['--debug', 'sync'])

Таким образом, вам нужно указать флаг, введенный через CLI, а не только передавать параметры, используемые функцией, если вы используете @click.option.

Кроме того, я сделал опечатку для одного из флагов.

Как отлаживать

  1. Посмотрите на параметры, которые вы передаете runner.invoke (проще всего: распечатайте его)
  2. Выполнить его через CLI (например, cli(['--debug', 'sync']))

В моем случае это дало мне сообщение

Error: no such option: --sync  Did you mean --syncs?
...