$_SERVER['DOCUMENT_ROOT']
można również ustawić w pliku bootstrap i tym samym Bootstrap_test.php
jest dołączony do pliku konfiguracyjnego phpunit phpunit.xml
z atrybutem name bootstrap=Bootstrap_test.php
udało mi się osiągnąć ten wymóg, aby ustawić $ _SERVER [ „DOCUMENT_ROOT”] do konfiguracji pracy Jenkinsa. W „Bootstrap_test.php” wygląda
<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>
i zawartość w Bootstrap.php
jest zadeklarowana za pomocą define()
funkcję:
define('BASE_PATH', realpath(dirname(__FILE__)));
$_SERVER['DOCUMENT_ROOT'] = BASE_PATH;
Zmienna BASE_PATH
zazwyczaj utrzymać pełną ścieżkę do katalogu zadań Jenkins. Powiedzmy, że nazwa pracy Jenkins to Test_Job
. Katalog, w którym Jenkins umieści kod źródłowy projektu, to /var/lib/jenkins/jobs/Test_Job/workspace
(zakładając katalog roboczy jenkins jako /var/lib/jenkins
).
Jeśli Bootstrap_test.php jest umieszczony w katalogu głównym, BASE_PATH
będzie posiadać /var/lib/jenkins/jobs/Test_Job/workspace
i ostatecznie ustawiony na $_SERVER['DOCUMENT_ROOT']
.
Problem polega na tym, jak dołączyć plik zawierający tę klasę? –
Ah OK - widzę problem ... trochę źle zrozumiałem prawdziwe tło twojego pytania. Nie powinieneś polegać na włączaniu plików przy użyciu dowolnej zmiennej środowiskowej (w tym '$ _SERVER ['DOCUMENT_ROOT']'). Czy możliwe jest dołączenie plików przy użyciu ścieżek względnych, np. 'require_once dirname (__ FILE__). "/ MyClass.php''? Z drugiej strony możesz ustawić automatyczne ładowanie ... –