I'm trying to write tests for some legacy code with PHPUnit 3.4.9, but it seems that all my global variabl开发者_JAVA百科es are invisible.
How can I access global variables inside PHPUnit 3.4.9?
They should be available. However, PHPUnit backups global state between tests:
By default, PHPUnit runs your tests in a way where changes to global and super-global variables ($GLOBALS, $_ENV, $_POST, $_GET, $_COOKIE, $_SERVER, $_FILES, $_REQUEST) do not affect other tests. Optionally, this isolation can be extended to static attributes of classes.
so this might be an issue. Also note that
Objects of some classes that are provided by PHP itself, such as PDO for example, cannot be serialized and the backup operation will break when such an object is stored in the $GLOBALS array, for instance.
See the chapter on Testing Global State in the PHPUnit Manual
Use this command phpunit --no-globals-backup
精彩评论