为什么 AliceBundle Fixture DateTime 给我一个意外的值?

Tie*_*ger 4 datetime symfony alice-fixtures

我目前正在开发一个项目,在该项目中,我使用 Alice-bundle 创建固定装置来运行测试,以确保我的 API 端点正常工作。除了 DateTime 属性之外,一切正常。

无论我传递什么字符串,例如:<dateTime('2019-09-23 14:00:00')>,它总是给我错误的日期和时间,通常类似于:1998-10-25T14:29:45+01:00

即使使用也<dateTime('now')>不起作用——它还给了我一些 2000 年代之前的日期和时间,而这正是我发现的一些示例所使用的。

一个装置可能看起来像这样:

Path\To\Task\Entity: my_task: title: 'My tasks' description: 'These are all the tasks just for me!!!' startsAt: <dateTime('now')> endsAt: <dateTime('now')> createdBy: '@some_higher_user'

理想情况下,我只想向它传递一个字符串,以便我可以定义日期和时间,并确保它以正确的格式正常工作。

如有帮助,我们将不胜感激。

Arl*_*Hix 5

在这里查看https://github.com/nelmio/alice/blob/master/doc/advanced-guide.md#functions我们读到:

函数可以是 Faker 或 PHP 原生(或在全局范围内注册)函数。

所以我建议尝试使用 PHP 本机函数来创建\DateTime对象

<date_create_from_format ( 'Y-m-d H:i:s' , '2019-09-23 14:00:00')>
// or
<date_create('now')>
Run Code Online (Sandbox Code Playgroud)

  • 好的。你应该将此标记为正确答案,而不是我的,@TienusMcVinger (2认同)