symfony - 为什么 AliceBundle Fixture DateTime 给了我一个意想不到的值?
问题描述
我目前正在开展一个项目,在该项目中,我使用 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'
理想情况下,我只想给它传递一个字符串,这样我就可以同时定义日期和时间,并确保它以正确的格式正常工作。
帮助将不胜感激。
解决方案
看这里https://github.com/nelmio/alice/blob/master/doc/advanced-guide.md#functions我们读到:
function 可以是 Faker 或 PHP 本机(或在全局范围内注册)函数。
所以我建议尝试一个创建\DateTime
对象的 PHP 本机函数
<date_create_from_format ( 'Y-m-d H:i:s' , '2019-09-23 14:00:00')>
// or
<date_create('now')>
推荐阅读
- python - 在 python Flask 中接收 CSV 数据集
- javascript - 正则表达式:如何处理括号和反斜杠?示例:将“[{\ 变为 [{
- java - 如何访问 jpa 中的多对多表?
- javascript - 从每个文件中提取 JSON 对象并将其添加到数组中
- sql - 如何在 SOQL 中对 2 个表进行选择查询?
- reactjs - 如何修复 React 无法识别 `basePath` 警告?
- javascript - HTML/JavaScript/NetSuite 函数得到不正确的结果
- amazon-web-services - s3同时下载和上传
- java - 将对象传递给数据库时,调试器说属性有变量,但是当打印 result.hasErrors 时它为空
- android - 将数据包从物理设备发送到模拟器