|
Агрегатные тесты - это тесты, которые состоят из других тестов. При помощи них можно объединять набор тестов в большие пакеты и тестировать их как единое целое.
На этом уровне определяются также разные именованные сущности, которые могут быть использованы в составляющих тестах
Если описаний именованных сущностей слишком много или их хочется использовать несколько раз в разных файлах-описателях тестов, то такие описания можно выделить в отдельный файл и подключать их при помощи конструкции include/declarations_from
Кроме того, на этом уровне можно описывать действия, которые должны выполняться перед началом и после завершения каждого входящего в агрегатный тест терминального теста .
Переменные подстановки - задают текстовые значения переменных, которые потом могут быть использованы в полях описателей тестов как %имя_переменной%.
Задаются обычно при помощи описателя в агрегатном фильтре:
<params> <par> <name>variable_name1</name> <value>variable value1</value> </par> <par> <name>variable_name2</name> <value>variable value2</value> </par> .... </params> |
params | Перечисление определений переменных подстановки |
par | Определение переменной подстановки |
name | Имя определяемой переменной подстановки |
value |
Значение переменной подстановки
Может включать в себя другие переменные подстановки. В таком случае вычисляется на месте определения на основе ранее определённых переменных. |
Кроме того, переменные подстановки могут задаваться при помощи описателя:
<safe_params> <par> <name>variable_name1</name> <value>variable value1</value> </par> <par> <name>variable_name2</name> <value>variable value2</value> </par> .... </safe_params> |
Это описание отличается от предыдущего только тем, что значение переменной задаётся только при условии, если оно не было задано ранее (на более высоком уровне агрегатного теста, то есть в тесте, который включает данный как составной)
Описание теста обычно может включать как элемент params, так и safe_params одновременно.
Шаблоны тестов - это именованные описания тестов, для выполнения которых нужно явно писать вызов call_template . При этом все переменные подстановки, используемые при описании теста, берутся в соответствии с тем местом, где используется шаблон.
Задаются обычно при помощи описателя в агрегатном тесте:
<test_templates> <template> <name>template_name1</name> <test> template description 1 </test> </template> <template> <name>template_name2</name> <test> template description 2 </test> </template> .... </test_templates> |
test_templates | Перечисление определений именованных шаблонов тестов |
test_template | Определение именованного шаблона теста |
name | Имя определяемого именованного шаблона |
test |
Описание шаблона
Может включать в свои поля переменные подстановки. В таком случае эти переменные вычисляются по месту использования шаблона ( call_template ). |
Стандартные действия в начале и в конце терминальных тестов - используются обычно для выполнения какой-либо подготовительной работы, вроде заполнения тестовых данных.
В качестве действий могут указываться любые команды для тестового скрипта
Задаются обычно при помощи описателя в агрегатном тесте:
<on_start_terminal> .... test commands .... </on_start_terminal> <on_stop_terminal> .... test commands .... </on_stop_terminal> |
on_start_terminal | Действия, которые должны быть выполнены перед каждым терминальным тестом, входящим в данный агрегатный тест. |
on_stop_terminal | Действия, которые должны быть выполнены после каждого терминального теста, входящего в данный агрегатный тест. |
В случае если для теста описано несколько действий on_start_terminal, на разных уровнях агрегатных тестов, в которые он входит, то эти действия выполняются начиная с тех что описаны на более высоком уровне. Выполнение on_stop_terminal происходит в обратном порядке.
Подключение определений, описанных в другом файле - применяется обычно если именованных сущностей при агрегатном тесте слишком много, либо эти сущности хочется использовать в разных файлах.
Описывается в специальном разделе:
<include> <declarations_from>name of file with declarations</declarations_from> .... </include> |
include | Раздел с перечислением подключаемых файлов с определениями |
declarations_from |
Имя файла, в котором описаны определения.
Путь к файлу должен быть относительным от директории, в которой лежит первоначальный файл. |
Сам файл с определениями имеет простой формат:
<declarations> <test_templates> .. named test templates .. </test_templates> <params> .. named params .. </params> <safe_params> .. named params if undefined .. </safe_params> <include> .. files with declarations .. </include> </declarations> |
Здесь:
test_templates | Перечисление определений именованных шаблонов тестов для использования в составляющих тестах |
params, safe_params | Перечисление определений переменных подстановок для составляющих тестов. |
include | Перечисление подключаемых файлов с определениями . |
<package> <spec> <sname>test short name for package</sname> <fname>test full name for package</fname> <descr>test descr for package</descr> </spec> <test_templates> <template> <name>b</name> <test> <empty_test> <spec> <sname>test short name for empty</sname> <fname>test full name for empty</fname> <descr>test descr for empty</descr> </spec> </empty_test> </test> </template> </test_templates> <on_start_terminal> <echo>######## on start</echo> </on_start_terminal> <on_stop_terminal> <echo>######## on stop</echo> </on_stop_terminal> <params> <par> <name>test_name1</name> <value>test_value1</value> </par> <par> <name>test_name2</name> <value>test_value2</value> </par> </params> <safe_params> <par> <name>test_name3</name> <value>test_value3</value> </par> <par> <name>test_name4</name> <value>test_value4</value> </par> </safe_params> <include> <declarations_from>test_declarations1.iti.xml</declarations_from> <declarations_from>test_declarations2.iti.xml</declarations_from> </include> </package> |
|