$_SERVER['DOCUMENT_ROOT']
также может быть установлен в файле начальной загрузки и тот же Bootstrap_test.php
прилагается к файлу конфигурации PHPUnit phpunit.xml
с атрибутом имени bootstrap=Bootstrap_test.php
Я был в состоянии достигнуть требование установить $ _SERVER [ «DOCUMENT_ROOT»] для настройки работы Дженкинса. «Bootstrap_test.php» выглядит
<phpunit
backupGlobals="false"
backupStaticAttributes="false"
strict="true"
verbose="true"
bootstrap="Bootstrap_test.php">
<testsuites>
<testsuite name="PHPUnit Test Suite">
<file>PHPUnitTest.php</file>
</testsuite>
</testsuites>
<logging>
<log type="coverage-clover" target="logs/clover.xml"/>
</logging>
</phpunit>
и содержание в Bootstrap.php
объявляется с помощью define()
функции:
define('BASE_PATH', realpath(dirname(__FILE__)));
$_SERVER['DOCUMENT_ROOT'] = BASE_PATH;
переменная BASE_PATH
обычно держать полный путь к каталогу заданий Дженкинс. Скажем, имя Дженкинса - Test_Job
. Каталог, в котором Jenkins разместит исходный код проекта, - /var/lib/jenkins/jobs/Test_Job/workspace
(предполагается, что рабочий каталог jenkins - /var/lib/jenkins
).
If Bootstrap_test.php помещается в базовый каталог, BASE_PATH
будет содержать /var/lib/jenkins/jobs/Test_Job/workspace
и, наконец, установить на $_SERVER['DOCUMENT_ROOT']
.
После этого возникает проблема, как включить файл, содержащий этот класс? –
Ah OK - Я вижу проблему ... Я немного неправильно понял реальный фон вашего вопроса. Вы не должны полагаться на файлы, используя любую переменную среды (включая '$ _SERVER ['DOCUMENT_ROOT']'). Возможно ли, чтобы вы включили ваши файлы с использованием относительных путей, например. 'require_once dirname (__ FILE__). «/ MyClass.php''? С другой стороны, вы можете настроить какую-то автозагрузку ... –