我正在使用PHP中的许多实用程序库对大型代码库进行单元测试和重构。有很多这样的库,充满了整个站点都在使用的便捷方法。大多数这些静态库与配置文件交互(通过另一个静态类)。这是一个很好的例子:classcore_lang{publicstaticfunctionset_timezone(){if(cfg::exists('time_zone')){putenv("TZ=".cfg::get('time_zone'));}}}然后,当然,还有另一层更具体的库在其他地方调用core_lang::set_timezone()在另一个函数中。这使得这些类很难编写单元测试,至少在PHPUnit中是这