码迷,mamicode.com
首页 > 其他好文 > 详细

laravel 单元测试设置模拟时间

时间:2019-02-28 10:35:44      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:bsp   方法   设置   ems   store   需要   result   this   虚拟   

 

有时候我们需要对一些超时的逻辑进行测试,需要等待一定的时间来验证超时逻辑是否生效。

 

Carbon 库提供了 setTestNow 方法来设置一个虚拟的当前时间

使用这个特性的前提是:我们的待测试代码利用 Carbon::now() 来获取当前时间(这种情况获取到的当前时间是我们设置的一个虚拟的当前时间)。

public function test_items_can_expire()
    {
        Carbon::setTestNow(Carbon::now());
        $store = new ArrayStore;

        $store->put(‘foo‘, ‘bar‘, 10);
        Carbon::setTestNow(Carbon::now()->addSeconds(10)->addSecond());
        $result = $store->get(‘foo‘);

        $this->assertNull($result);
        Carbon::setTestNow(null);
    }

 

laravel 单元测试设置模拟时间

标签:bsp   方法   设置   ems   store   需要   result   this   虚拟   

原文地址:https://www.cnblogs.com/eleven24/p/10448525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!