Всем привет! Кто-нибудь когда-нибудь проводил нечто подобное? Если да, поделитесь опытом. Говорю сразу, я от тестирования очень далёк, знаю, что существует shunit, но мне нужно написать пару тестов именно вручную. Как это сделать? С чего начать? Нужно ли бить скрипт на несколько файлов (юнитов) или воротить всё прямо в нём? Сам скрипт очень простой, интерес чисто академический. Суть: принимает на вход некоторые параметры и в зависимости от них выводит хэловорлд разными способами. Наткнулся в интернете на такую конструкцию:
#!/bin/bash
set -e
errors=0
results=$($script_under_test $args<<ENDTSTDATA
# inputs
# go
# here
#
ENDTSTDATA
)
[ "$?" -ne 0 ] || {
echo "Test returned error code $?" 2>&1
let errors+=1
}
echo "$results" | grep -q $expected1 || {
echo "Test Failed. Expected $expected1"
let errors+=1
}
# and so on, et cetera, ad infinitum, ad nauseum
[ "$errors" -gt 0 ] && {
echo "There were $errors errors found"
exit 1
}
Перемещено mono из talks