У меня есть набор тестов PHPUnit для моего расширения, и я хочу запустить их как часть процесса сборки расширения Hudson.
Поэтому я хочу запустить PHPUnit, указав библиотеку расширений для загрузки во время выполнения, но я не могу понять, как это сделать.
Моя структура каталогов выглядит следующим образом:
/myextension.c
/otherextensionfiles.*
/modules/myextension.so
/tests/unittests.php
Я попытался запустить PHPUnit с файлом конфигурации XML следующим образом:
<phpunit>
<php>
<ini name="extension_dir" value="../modules/"/>
<ini name="extension" value="myextension.so"/>
</php>
</phpunit>
И затем запустить его следующим образом (из каталога tests
):
phpunit --configuration config.xml unittests.php
Но тогда я получаю Fatal error: Call to undefined function myfunction()
, поэтому он не загружает библиотеку.
Я тоже пробовал:
phpunit -d extension_dir=../modules/ -d extension=myextension.so unittests.php
А также dl('myextension.so')
к тестовой настройке, но без радости.
Если это актуально, используется PHP 5.2 и PHPUnit 3.4.11.
Я перекрестно опубликовал этот вопрос в списке рассылки пользователей PHPUnit .