如何在PHPUnit 3.4.9中访问全局变量?

时间:2010-04-08 09:59:10

标签: php phpunit scope

我正在尝试使用PHPUnit 3.4.9为一些遗留代码编写测试,但似乎我的所有全局变量都是不可见的。

如何在PHPUnit 3.4.9中访问全局变量?

2 个答案:

答案 0 :(得分:3)

它们应该可用。但是,PHPUnit在测试之间备份全局状态:

  

默认情况下,PHPUnit以对全局变量和超全局变量($ GLOBALS,$ _ENV,$ _POST,$ _GET,$ _COOKIE,$ _SERVER,$ _FILES,$ _REQUEST)的更改不会影响的方式运行测试其他测试。可选地,此隔离可以扩展到类的静态属性。

所以这可能是一个问题。另请注意

  

PHP本身提供的某些类的对象(例如PDO)无法序列化,例如,当这样的对象存储在$ GLOBALS数组中时,备份操作将会中断。

请参阅Testing Global State in the PHPUnit Manual

一章

答案 1 :(得分:1)

使用此命令phpunit --no-globals-backup