Тестирование CLI, сервисов и daemon
Программы без UI проверяются через команды, конфигурации, файлы, логи, exit codes, signals и сервис-менеджеры. Здесь особенно важны воспроизводимость и точная фиксация окружения.
Что важно понять
- Аргументы командной строки, help, неверные параметры, exit codes.
- Конфигурационные файлы, env vars, secrets, precedence правил.
- Логи, stdout/stderr, rotation, уровни логирования.
- Start/stop/restart, signals, systemd/launchd/Windows services.
Рабочий порядок
- Соберите таблицу команд и ожидаемых результатов.
- Проверьте валидные и невалидные конфигурации.
- Проверьте обработку ошибок файловой системы и сети.
- Автоматизируйте повторяемые проверки shell/Python/pytest или другим локальным стеком.
Что отдавать команде
- CLI test matrix.
- Примеры команд и ожидаемые exit codes.
- Логи и конфиги для дефектов.
Частые провалы
- Проверять только интерактивный happy path.
- Не проверять stderr и exit code.
- Не учитывать права пользователя и рабочую директорию.
Практика
Для CLI-утилиты импорта проверьте: нет файла, пустой файл, битый CSV, большой файл, нет прав на output, повторный запуск.