require_once 呼び出しのパスを形成するために使用される prepend ファイルにグローバルを設定します。例えば:
require_once($GLOBALS['root'].'/library/particleboard/JsonUtil.php');
問題は、PHPUnit のスケルトン テスト ビルダーを実行すると、プリペンド ファイルが実行されないため、グローバルが設定されないことです。私が走るとき
cd /company/trunk/queue/process; phpunit --skeleton-test QueueProcessView
PHPUnit は QueueProcessView で require_once を解決しようとしますが、$GLOBALS['root'] が設定されていないため、必要なファイルを含めるときに致命的なエラーが発生します。
たとえば、PHPUnit に対して、
require_once(/code/trunk/library/particleboard/JsonUtil.php)
として解決されます
require_once(/library/particleboard/JsonUtil.php)
ルートがないことに注意してください。
スケルトン テスト コードに、実行前に PHP ファイルを呼び出す方法があるかどうかは誰にもわかりませんか? これで、このファイルに GLOBAL['root'] を設定できました。
他の創造的な解決策をいただければ幸いです。