Инструменты пользователя

Инструменты сайта


limb3_2007_4:ru:packages:tests_runner:tests_tree

Метафора пакета TESTS_RUNNER. Дерево тестов

Главная идея заключается в том, что все тесты располагаются в едином дереве, где к каждому элементу можно добраться при помощи унифицированного пути(к примеру, /0/1 или /1/0/3).

Физически все тесты хранятся в файловой системе, причем, каждая отдельная директория с тестами считается группой, т.е нетерминальным нодом дерева. Терминальным нодом считается просто файл, у который по маске подходит под «*_test.php» или «*Test.class.php»(маска жестко не зашита и может меняться).

Только на стадии выполнения происходит сборка дерева, причем собирается оно не полностью, а только то, что необходимо, т.е те элементы, которые присутствуют в пути.

Группа тестов может иметь «распределенную фикстуру», которая будет выполняться иеархически(см. ниже). Фикстуры хранятся в отдельных php файлах .setup.php и teardown.php для отдельной группы тестов(т.е. внутри директории).

К примеру, есть тестовая группа foo, в которой, в свою очередь, находится группа bar. Если есть фикстура для обоих груп, при выполнении группы bar будут выполнены фикстуры в следующем порядке:

foo/.setup.php
  bar/.setup.php
  bar/.teardown.php
foo/.teardown.php

То что при выполнении дочерней группы выполняются фикстуры родителя(т.е фикстуры вкладываются друг в друга снизу вверх), является еще одной особенностью тестовой среды.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
     __  _____   ___    ____   __ 
 __ / / / ___/  / _ \  / __/  / / 
/ // / / /__   / , _/ _\ \   / /__
\___/  \___/  /_/|_| /___/  /____/
 
limb3_2007_4/ru/packages/tests_runner/tests_tree.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)