|
|
|
Агрегатные тесты - это тесты, которые состоят из других тестов. При помощи них можно объединять набор тестов в большие пакеты и тестировать их как единое целое.
На этом уровне определяются также разные именованные сущности, которые могут быть использованы в составляющих тестах
Если описаний именованных сущностей слишком много или их хочется использовать несколько раз в разных файлах-описателях тестов, то такие описания можно выделить в отдельный файл и подключать их при помощи конструкции 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> |
|