Существует ли установленный стандарт для тестирования аргументов командной строки?

Я разрабатываю утилиту командной строки, которая имеет МНОГО флагов. Типичная команда выглядит следующим образом:

mycommand --foo=A --bar=B --jar=C --gnar=D --binks=E

В большинстве случаев печатается сообщение «Успех», но я все же хочу проверить данные по другим источникам, например, внешней базе данных, чтобы гарантировать фактический успех.

Я начинаю создавать тесты интеграции и я не уверен, как это лучше сделать. Меня больше всего беспокоит следующее:

  1. Существует множество комбинаций флагов, как мне узнать, какие комбинации нужно тестировать? Если вы произведете математические вычисления для 10+ флагов, которые можно использовать вместе ...
  2. Нужно ли тестировать перестановки флагов?
  3. Как создать структуру, способную автоматизировать тесты, а затем проверять результаты.
  4. ] Как отслеживать большое количество флагов и обеспечивать порядок, чтобы было легко определить, какие комбинации были реализованы, а какие нет.

Мысль о том, чтобы вручную записывать отдельные случаи и проверять результаты в формате, подобном модульному тесту, устрашает.

Кто-нибудь знает шаблон, который можно использовать для автоматизации этого типа тестов? Возможно, даже программное обеспечение, которое пытается решить эту проблему? Как люди, работающие над инструментами командной строки GNU, тестировали свое программное обеспечение?

6
задан trinth 29 April 2011 в 05:38
поделиться