Система тестирования izh_test
Виды тестов
test_script - Тестовая последовательность примитивных действий
Введение
Тестовый скрипт представляет собой последовательность примитивных действий
(команд), каждая из которых может быть источником
результатов теста
.
Используется как низкоуровневое средство в различных нестандартных ситуациях.
Позволяет в процессе тестирования проводить операции с файлами
(копирование, переименовывание, удаление), с переменными окружения,
запускать внешние программы из командной строки, проверять на совпадение
с эталоном произвольное количество файлов и т.п.
Тестовый скрипт выполняется как единое целое, при этом все
результаты тестирования
(файлы для сравнения с эталонами) отдельных команд вместе считаются результатами всего скрипта.
Соответственно элементы скрипта не имеют
спецификаторов
(имён).
Только весь скрипт, как единое целое, имеет спецификатор.
В частности стандартный простейший тест
exec_check
может быть реализован как
тестовый скрипт с двумя командами
exec
и
check
. При желании, между
exec
и
check
можно
выполнять ещё какие-нибудь действия, например нормализацию результирующего файла.
Есть и команда с названием
exec_check
(полный аналог соответствующего теста,
за исключением спецификатора теста). Её можно использовать, например, в комбинации
с ещё одним
check
, который проверит измененные файлы, являющееся для программы
побочным эффектом.
Сам по себе
exec
можно использовать для подготовки каких-нибудь
предварительных данных, или наоборот отката после теста к исходному состоянию.
Кроме того, есть специальный тип тестовой команды, запускающей любой тест
(естественно при этом не используется за ненадобностью его спецификатор).
Например, таким образом удобно использовать тест
exec_check_directory
.
Полное описание теста выглядит как:
<test_script>
<spec>
<sname>short_name_of_test</sname>
<fname>full name of test</fname>
<descr>description of test</descr>
</spec>
<params> .. named params .. </params>
<safe_params> .. named params if undefined .. </safe_params>
<items>
.. items of script ..
</items>
</test_script> |
Здесь:
params, safe_params |
Перечисление определений
переменных подстановок
для составляющих тестов.
|
items | Перечисление описателей элементов скрипта.
|
Спецификатор spec стандартный для всех тестов:
spec |
Идентификационная информация о тесте (имена, описание)
|
sname |
Короткое название теста.
Используется для вывода в
ГУИ-среде
и для указания пути к тесту в
консольном варианте
.
Без перевода строк.
Желательно покороче, и без пробелов.
|
fname |
Полное название теста.
Используется для вывода в
консольном варианте системы
.
Без перевода строк.
Предполагается, что должно поместиться в одну строку/экран.
То есть желательно уложиться до 60 символов.
|
descr |
Полное описание текста.
Вот здесь можно писать что угодно, любой длинны и с любыми переводами каретки.
В
консольном
и
ГУИ варианте
это описание можно посмотреть только специальной командой.
|