Как установить переменные $ _SERVER [''] при запуске тестов phpunit через Jenkins

Я пытаюсь написать модульные тесты для приложения, в котором много изменений кода невозможно . Почти все файлы .php в базе кода используют некоторые переменные $ _SERVER [''], например

require_once $_SERVER['DOCUMENT_ROOT'] . '/mainApi.php';

. Итак, теперь, когда мне нужно написать и запустить тестовые примеры PHPUnit, я должен каким-то образом установить эти переменные. В настоящее время я устанавливаю эти переменные в пользовательской среде, а затем выполняю

$_SERVER['DOCUMENT_ROOT'] = getenv('DOCUMENT_ROOT');
require_once $_SERVER['DOCUMENT_ROOT'] . '/mainApi.php';

Получение таких переменных сервера работает нормально. Я запускаю свои тесты через командную строку как $ phpunit test.php .

Ques1: Можно ли установить переменные $ _SERVER во время выполнения тестов phpunit через командную строку?

Мне также нужно запустить эти модульные тесты через Jenkins, и я не могу установить эти серверные переменные через ANT / build файл.

Ques2: Можно ли установить эту переменную через файл сборки ant в Jenkins или запустить любой сценарий оболочки перед выполнением тестов phpunit через Jenkins?

Я попытался экспортировать переменную сервера через сценарий оболочки

    export DOCUMENT_ROOT=/server/path-to-root-dir

] и вызывает этот сценарий в build.xml в Jenkins

<export name="setEnv" description="set server var">
    <exec executable="sh">
       <arg value = "sumit.sh" />
    </exec> 
</target>

, но он не работает. Есть ли какие-нибудь настройки, которые я могу сделать для этого? Спасибо!

13
задан Sumitk 4 August 2011 в 00:39
поделиться