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

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


limb3: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/ru/packages/tests_runner/tests_tree.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)