[Moscow.pm] Хуки при выполнении тестов

Alexandr Alexeev afiskon на gmail.com
Ср Мар 14 23:12:20 PDT 2012


Скорее всего, вы делаете что-то не так. Но если очень хочется - напишите
собственный скрипт run-tests.pl, который
1. Если получает аргумент all - прогоняет все тесты
2. Если получает список тестов - прогоняет только их

Для совместимости с prove и остальными можете использовать переменную
окружения, типа USING_RUN_TESTS=1 или TESTS_DATA_INIT=1 - если она
установлена - ничего не создаем и не удаляем, если не установлена - делаем
инициализацию и очестку в самих тестах.

ИЛИ напишите один мага-тест, который прогоняет остальные (лежащие в .pm
файлах) в зависимости например от тех же переменных окружения.

15 марта 2012 г. 3:25 пользователь Alexandr Gomoliako <zzz на zzz.org.ua>написал:

> > оставить это для make clean. Но это если речь идёт о файлах. А если
> > предположить, что инициализация подразумевает какие-то более хитрые
> > действия, хотя бы, например, запись в БД?
>
> Ну если это SQLite, DB_File или что-то такое, то они же тоже простые файлы
> :)
> А для mysql и т.д. уже нужно что-то специально делать, можно через
> %ENV проверять или plan 'skip_all', если нету. Получится, что
> нестандартная часть не будет запускаться, там где не надо.
>
> В общем у меня так:
> 1. В каждом тесте создается директория tmp/tXX прямо в текущей
> директории, XX номер теста.
> 2. Данные чистятся непосредственно перед использованием, чтобы не
> заботиться о make clean.
> 3. Отдельный clean хук, чтобы удалить tmp/.
>
> Это позволяет избежать проблем с системным /tmp (особенно
> переполнением при ошибках), а также запускать тесты параллельно, как
> заметил Руслан, сохранять данные для дальнейшего расследования,
> выводить их сразу через diag, что для cpantesters и разных CI очень
> важно и т.д.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
С уважением, Александр
Личный блог: http://eax.me/
Мой форум: http://it-talk.org/
Мой Twitter: http://twitter.com/afiskon
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20120315/584b04b8/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm