在PHP中进行单元测试时使用自动加载来加载模型类?

时间:2011-08-18 17:16:54

标签: php unit-testing

我有许多辅助类,它们是静态方法的集合,以前是各种包含文件中的函数。我在课堂上收集它们以保持整洁和有效(通过将它们移出全局命名空间并懒洋洋地加载它们)。通常,函数是微不足道的,除了标准的PHP函数之外不依赖于任何东西。据我了解,它们可以作为单个单元进行测试。

但是有些方法可以使用数据库。我可以重写它们,但是单独测试所有非静态的东西似乎都是错误的。在每个辅助函数中注入依赖关系也会破坏简单性和整洁性。

我的另一个想法是一个非常简单的测试环境,我使用PHP自动加载功能。通常它包含类目录中的请求类。但是在测试环境中,我将自动加载的include重定向到具有用于测试的模型类的不同目录。

这是测试的好主意吗?如果没有,为什么不呢?

1 个答案:

答案 0 :(得分:1)

您可以使用spl_autoload_register注册不同的__autoload函数。 见http://www.php.net/manual/en/function.spl-autoload-register.php