Я пытаюсь написать тесты для некоторого устаревшего кода с помощью PHPUnit 3.4.9, но, похоже, все мои глобальные переменные невидимы.
Как мне получить доступ к глобальным переменным внутри PHPUnit 3.4.9?
Они должны быть доступны. Однако PHPUnit создает резервные копии глобального состояния между тестами:
По умолчанию PHPUnit запускает ваши тесты таким образом, чтобы изменения глобальных и суперглобальных переменных ($ GLOBALS, $ _ENV, $ _POST, $ _GET, $ _COOKIE, $ _SERVER, $ _FILES, $ _REQUEST) не влияли другие тесты. При желании эта изоляция может быть расширена до статических атрибутов классов.
так что это может быть проблемой. Также обратите внимание, что
Объекты некоторых классов, которые предоставляются самим PHP, такие как, например, PDO, не могут быть сериализованы, и операция резервного копирования прервется, если, например, такой объект будет сохранен в массиве $ GLOBALS.
См. Главу о Проверка глобального состояния в Руководстве по PHPUnit
Используйте эту команду phpunit --no-globals-backup
phpunit --no-globals-backup