在本章中,您将看到编写PHPUnit测试时遇到的最大问题之一是依赖项。 您可能想知道依赖关系的含义。 显然,代码需要与其他代码交互,您需要知道它的工作原理。 是的,这是事实,但是通过单元测试,您正在尝试验证尽可能小的代码是否按预期工作,并确保没有其他任何东西破坏经过测试的代码,您需要隔离代码。 代码隔离是一种方法,你应该从这开始。
但真正的依赖是什么? 以下是可能导致问题的应用程序和代码部分:
- 全局变量:例如,您在应用程序启动时创建$ config对象,然后几乎在应用程序的任何位置使用此对象(在PHP存储的$ _GLOBALS数组中)。
- 会话变量:与全局变量类似,这些变量存储在会话中($ _SESSION)。 这是使用无状态HTTP协议处理应用程序状态的标准方法。
- 注册表的用法:这是一种访问全局变量的略有不同的方法。
- 其他代码:在已测试的函数/方法中使用的代码。