simpletest: unittescase и инициализация

whirlwind

TDD infected, paranoid
simpletest: unittescase и инициализация

Например для выполнения всех тестов используется набор таблиц. Создание таблиц процесс медленный, по этому setUp и tearDown не подходят. Конструкторы деструкторы не катят по той причине, что при инициализации/клеанапа возможен выборос исключения которое не имеет прямого отношения к тестируемому классу. Отлавливать их желания нет. Допустим с инициализацией еще можно изголиться, а вот как быть со сборкой мусора - ума не приложу? Может в simpletest-е есть методы типа setUp/tearDown выполняющиеся единовременно?

-~{}~ 11.01.06 11:36:

>Может в simpletest-е есть методы типа setUp/tearDown выполняющиеся единовременно?

В смысле мануал читать я умею, таких методов не документировано. Сейчас я использую метод testLast объявленный последним в классе. Работает, но ненадежно все это. Интересует более прямой вариант.
 

svetasmirnova

маленький монстрик
Я перед запуском группы тестов инициализирую окружение отдельно. И убиваю его тоже отдельно, после завершения всех тестов. Но это тоже не очень прямой путь и таблицы я не создаю в этих случаях: используется тестовая база, иногда даже две: одна только для unit-тестов, другая для "посмотреть/показать как это выглядит в браузере"
 

whirlwind

TDD infected, paranoid
>и таблицы я не создаю в этих случаях

Мало случаев когда это необходимо, но они есть. например когда тестируешь ORM класс, который предусматривает возможнойть сформировать крейт тейбл на основе атрибутов. С другой стороны, вынос инициализации из юнит кейса делает тест менее автономным, за ним начинает тянуться всякая всячина и юнит тест становится похожим на комплекс.
 
Сверху