Bash:
Написание тестов

Как:

Bash не имеет встроенного фреймворка для тестирования, но вы можете использовать простые тестовые команды и утверждения. Давайте напишем функцию и протестируем её с помощью test или [ ].

Функция Bash для тестирования:

is_number() {
  [[ $1 =~ ^[0-9]+$ ]] && return 0 || return 1
}

Тестовый случай:

test_is_number() {
  is_number 42 && echo "Пройдено: 42 - это число" || echo "Не пройдено: 42 - это не число"
  is_number abc && echo "Пройдено: abc - это число" || echo "Не пройдено: abc - это не число"
}

test_is_number

Пример вывода:

Пройдено: 42 - это число
Не пройдено: abc - это не число

Погружение

Тестирование в Bash развивалось. Изначально это была ручная проверка вывода скриптов. Затем появилась команда test в 1970-х годах, которая позволила скриптам самопроверять условия. Альтернативы, такие как Bats, настоящий фреймворк для тестирования Bash, предлагают больше возможностей, но требуют внешней установки. Сочетание Bats с инструментами непрерывной интеграции (CI), такими как Jenkins или GitHub Actions, приводит к более надежным тестовым процессам. При реализации помните, что Bash менее детализирован по сравнению с фреймворками для тестирования других языков; используйте -eq для сравнения чисел, -z для проверки, является ли строка нулевой, и [[ ]] для продвинутых функций, таких как сопоставление с образцом.

Смотрите также