使用CakePHP 3,我使用内置类Cake\I18n\Time
来计算API响应和当前时间的时间差。结果存储为单元测试,但我不知道如何设置当前时间,因此预期结果会不断变化。
这是我试图测试的单位:
$apiTime = Time::createFromTimestamp($apiTimestamp);
// Get the time the prediction was generated
$currentTime = Time::now();
return (int)(($apiTime->getTimestamp() - $currentTime->getTimestamp()) / 60);
那么,有什么方法可以设定当前时间吗?这样我就能真正知道预期结果是什么。
答案 0 :(得分:2)
(来自http://book.cakephp.org/3.0/en/core-libraries/time.html#creating-time-instances)
在测试用例中,您可以使用presentAlertControllerWithTitle
模拟now()
:
setTestNow()