Sto cercando un modo per eseguire test su utilità della riga comandi scritti in bash, o qualsiasi altra lingua.comando test utility a riga di
mi piacerebbe trovare un framework di test che avrebbe dichiarazioni come
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'
Presumibilmente il banco di prova di base avrebbe creato una directory temp in cui eseguire questi comandi, e rimuoverlo a teardown.
Preferirei usare qualcosa in Python, poiché ho molta più familiarità con esso rispetto ad altre lingue candidate plausibili.
Immagino che possa esserci qualcosa che usa un DSL che lo renderebbe praticamente indipendente dal linguaggio (o dalla sua lingua, a seconda di come lo si guarda); tuttavia, questo potrebbe non essere l'ideale, dal momento che le mie tecniche di test di solito implicano la scrittura di codice che genera test.
E 'un po' difficile da google per questo, perché ci sono molte informazioni sulle utility che eseguono i test, che è una sorta di opposto di quello che sto cercando.
Supporto per doctests incorporati nella produzione di command --help
sarebbe un bonus extra :)
Si potrebbe ottenere alcune informazioni utili da una domanda che ho chiesto di test di unità script di shell: http://stackoverflow.com/questions/971945/unit-testing-for-shell-scripts –
@gareth_bowles: cool, grazie per il collegamento. Potrei provare a usare shunit2 se è bash-compatibile. – intuited