Я ищу способ запуска тестов утилит командной строки, написанных на 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, потому что есть много информации об утилитах, которые запускают тесты, что является своего рода противоположностью того, что я ищу.
Дополнительная поддержка doctests, встроенная в вывод command --help
, будет дополнительным бонусом:)