Я ищу способ запуска тестов в утилитах командной строки, написанных на bash, или на любом другом языке.
Я бы хотел найти структуру тестирования, которая бы имела такие выражения, как
setup:
command = 'do_awesome_thing'
filename = 'testfile'
args = ['--with', 'extra_win', '--file', filename]
run_command command args
test_output_was_correct
assert_output_was 'Creating awesome file "' + filename + '" with extra win.'
test_file_contains_extra_win
assert_file_contains filename 'extra win'
Предположительно, базовый тестовый пример установит временную директорию, в которой будут выполняться эти команды, и удалите ее при разрыве.
Я бы предпочел использовать что-то в Python, так как я гораздо более знаком с ним, чем с другими правдоподобными языками.
Я предполагаю, что может быть что-то, использующее DSL, что сделает его эффективно языковым агностиком (или собственным языком, в зависимости от того, как вы на него смотрите); однако это может быть менее идеальным, так как мои методы тестирования обычно включают в себя код записи, который генерирует тесты.
Это немного сложно для Google, так как есть много информации об утилитах, которые запускают тесты, что является своего рода обращением к тому, что я ищу.
Поддержка доктрин, встроенных в вывод command --help
, будет дополнительным бонусом:)