SourceForge.net Logo
prevtopnext
Система тестирования izh_test
    Виды тестов
        Агрегатные тесты
iterate - Пакет однотипных тестов отличающихся параметрами из набора (цикл)

Данный вид теста представляет собой пакет тестов составленных по одному шаблону и отличающихся только значениями используемых переменных подстановки .

Таким образом, описание теста состоит из 3 частей:

  1. Шаблон теста.
  2. Кортеж имён переменных подстановок .
  3. Набор кортежей значений для переменных подстановок .
При чтении описания для построения тестов просто нужно пробежаться по набору кортежей значений и для каждого кортежа значений добавить в пакет соответствующий тест.

Полное описание теста выглядит как:
<iterate>
  <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>
  <names>
    <name>name_1</name>
    <name>name_2</name>
    ...
  </names>
  <tuples>
    <tuple>
      <value>value_1</value>
      <value>value_2</value>
      ...
    </tuple>
    <tuple>
      <value>value_3</value>
      <value>value_4</value>
      ...
    </tuple>
    ...
  </tuples>
  <tuple_groups> .. named groups of tuples .. </tuple_groups>
  <template>
    .. test description as template ..
  </template>
</iterate>

Здесь:
params, safe_paramsПеречисление определений переменных подстановок для составляющих тестов.
namesКортеж имён переменных подстановки используемых при переборе.
nameИмя конкретной переменной подстановки используемой при переборе.
tuplesНабор кортежей значений переменных подстановки используемых при переборе.
tuple Кортеж значений переменных подстановки используемых при переборе.

Количество элементов в этом кортеже должно совпадать с количеством имён (элементов names)

i-му значению в этом кортеже соответствует i-е значение в кортеже names
valueКонкретное значение переменной подстановки.
templateОписание теста, используемое как шаблон при переборе.
tuple_groupsИменованные группы наборов кортежей значений (см. ниже).

В некоторых случаях набор кортежей переменных подстановки столь велик, что его удобно разбивать на именованные группы. Это можно сделать при помощи раздела tuple_groups:
<tuple_groups>
  <tuple_group>
    <spec>
      <sname>test short  name  for group 1</sname>
      <fname>test full   name  for group 1</fname>
      <descr>test descr        for group 1</descr>
    </spec>
    <tuples> .. usual tuples as described above ..  </tuples>
  </tuple_group>
  <tuple_group>
    <spec>
      <sname>test short  name  for group 2</sname>
      <fname>test full   name  for group 2</fname>
      <descr>test descr        for group 2</descr>
    </spec>
    <tuples> .. usual tuples as described above ..  </tuples>
  </tuple_group>
  ...
</tuple_groups>
В этом случае для каждого элемента tuple_group создаётся свой тест-пакет, который включается в оригинальный iterate с заданными для tuple_group именами, и этот тест заполняется тестами по перечисленным в нём значениям.

Спецификатор spec стандартный для всех тестов:
spec Идентификационная информация о тесте (имена, описание)
sname Короткое название теста. Используется для вывода в ГУИ-среде и для указания пути к тесту в консольном варианте . Без перевода строк. Желательно покороче, и без пробелов.
fname Полное название теста. Используется для вывода в консольном варианте системы . Без перевода строк. Предполагается, что должно поместиться в одну строку/экран. То есть желательно уложиться до 60 символов.
descr Полное описание текста. Вот здесь можно писать что угодно, любой длинны и с любыми переводами каретки. В консольном и ГУИ варианте это описание можно посмотреть только специальной командой.

prevtopnext

SourceForge.net Logo