Советы по настройке тестовой среды

Вопросы, связанные с разработкой пакетов Limb3

Модератор: phpBB2 - administrators

Советы по настройке тестовой среды

Сообщение pachanga » Сб апр 14, 2007 11:33 am

Update: Способ, показанный ниже является универсальным и, возможно, не слишком простым для новичков. Существует более простой способ выполнять тесты на Limb3 пакеты.

Вот несколько советов по настройке тестовой среды:

1) Ставим limb_unit:

$ pear channel-discover pear.limb-project.com
$ pear install limb/tests_runner-alpha


2) Создаем специальную директорию, "тестовый проект", в котором будут хранится настройки для выполнения тестов, например "~/tests". Создаем в нем скрипт ~/tests/setup.php:

~/tests/setup.php

<?php
//во-первых добавляем директорию ~/tests в include_path
//во-вторых добавляем директорию с Limb3 в include_path
set_include_path(dirname(__FILE__) . '/' . PATH_SEPARATOR .
'~/limb3/trunk/' . PATH_SEPARATOR);

//запрещаем кеширование метаданных БД
@define('LIMB_CACHE_DB_META_IN_FILE', false);
//директория с временными файлами
@define('LIMB_VAR_DIR', dirname(__FILE__) . '/var/');
?>


Создаем файл с настройками для подключения к тестовой БД:

~/tests/settings/db.conf.php

<?php
$conf = array('dsn' => 'mysql://root:secret@localhost/all_tests?charset=utf8');
?>


Также создаем файл настроек для WACT:

~/tests/settings/wact.conf.php

<?php
$conf = array('forcescan' => 1, 'forcecompile' => 1);
?>


3) Прописываем путь до настроек тестового проекта в переменной окружения LIMB_TESTS_RUNNER_CONFIG. Под *nix это следует делать где-нибудь в ~/.bashrc, например "export LIMB_TESTS_RUNNER_CONFIG=~/tests/setup.php". Под windows следует зайти в "свойства компьютера" и там отыскать установку переменных среды.

limb_unit будет подключать настройки, используя эту переменную окружения, если таковая существует. Альтернативно можно задавать путь до тестовых настроек, используя опцию "--config=" для limb_unit, однако, на мой взгляд, использование переменной окружения удобнее.

4) Выполнение тестов для одного пакета:

$ limb_unit limb3/trunk/some_package/tests


5) Выполнение тестов для всех пакетов. Переходим в директорию с Limb3 пакетами и выполняем такую команду для выполнения всех тестов(под *nix):

$ find -maxdepth 3 -name cases | xargs -i limb_unit "{}"


Под windows необходимо поставить unixtools(или cygwin) и команда будет несколько иной:

$ find -maxdepth 3 -name cases | xargs -i limb_unit.bat "{}"


Замечание: вообще limb_unit "понимает" glob символы в путях до тестов, т.е можно тесты запускать и так:

$ limb_unit */tests/cases


Однако в данный момент из-за того, что тесты не до конца изолированы друг от друга, могут возникать ошибки во время выполнения.

6) Подробнее о limb_unit: http://wiki.limb-project.com/doku.php?i ... :limb_unit

7) Также стоит подписаться на лист рассылки http://lists.limb-project.com/mailman/listinfo/limb-dev , туда "сыпятся" все ошибки с ночного сервера билдов
Аватара пользователя
pachanga
LIMB Developer
 
Сообщения: 4504
Зарегистрирован: Вс июн 06, 2004 7:29 pm
Откуда: Russia, Penza

Вернуться в Limb3 разработка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron