如何在PHP中更改当前时间(即time()
的输出)以进行单元测试日期操作类?
发布于 2011-03-17 20:04:08
我最近提出了一个解决方案,如果您使用的是PHP5.3名称空间,这个解决方案会很棒。您可以在当前名称空间内实现一个新的time()函数,并创建一个共享资源,您可以在其中设置测试中的返回值。然后,任何对time()的非限定调用都将使用您的新函数。
为了进一步阅读,我在我的blog中详细描述了它
发布于 2010-11-19 10:03:05
听起来您需要从日期操作类中删除time()
的依赖项
发布于 2010-11-19 15:31:55
我的猜测是,您正在为依赖项而苦苦挣扎。看起来您在类中使用了time()函数,而在进行单元测试时,您希望确保控制为您提供时间的方法/类的输出。我会说,创建一个为您提供时间的Time类,并将其模拟到您的单元测试中。
https://stackoverflow.com/questions/4221480
复制相似问题