使用 Carbon 和 Test Time 包进行时间测试
发布于 作者: Paul Redmond
Test Time 是 Spatie 开发的一个包,它提供了一个助手函数,用于在 PHPUnit 测试中控制 Carbon v2 的时间流。
Carbon 是一个用于处理 PHP 项目中时间的优秀库。TheSpatie\TestTime\TestTime 类包含一些函数,这些函数在幕后会修改 Carbon 认为的当前时间。
自述文件提供了一些快速示例,可以帮助您理解如何在测试中使用它。
// the flow of time is frozenTestTime::freeze(); // we're now one year in the futureTestTime::addYear(); // will report the real current year + 1$year = (new Carbon())->format('Y');
使用这个库,您还可以通过调用 Carbon 的典型方法来添加或减去时间来推进测试时间。
TestTime::addMinute(); // You can chain calls tooTestTime::addMonth(3)->addYear();
在幕后,TestTime 类使用 Carbon::setTestNow();
来设置时间。此包对任何使用 Carbon v2 的 PHP 项目都很有用。
您可以在 GitHub 上的 spatie/test-time 上了解有关此包的更多信息,获取完整的安装说明,并查看源代码。