如何在php中更改单元测试日期函数的当前时间

hap*_*oad 17 php apache phpunit unit-testing

我如何在php中更改单元测试日期操作类的当前时间(即time()的输出)?

Fab*_*ler 5

我最近提出了一个非常好的解决方案,如果您使用PHP 5.3命名空间.您可以在当前命名空间内实现新的time()函数,并创建一个共享资源,您可以在其中设置测试中的返回值.然后对time()的任何不合格的调用都将使用你的新函数.

为了进一步阅读,我在我的博客中详细描述了它


roj*_*oca 3

听起来您需要time()从日期操作类中删除对 的依赖

  • 所以没有办法改变时间。奇怪的是,像更改当前时间这样的简单事情无法用于测试。无赖。谢谢。 (3认同)