使用模型的 Casts 数组来验证 PHPUnit 上的模型完整性
Posted
技术标签:
【中文标题】使用模型的 Casts 数组来验证 PHPUnit 上的模型完整性【英文标题】:Use Model's Casts Array to Verify a Model Integrity on PHPUnit 【发布时间】:2021-03-15 21:37:54 【问题描述】:环境:phpStorm,使用 Laravel 和 PHPUnit。
我想要什么:在我的用户模型上使用$casts
并执行一个 foreach 函数来比较特定用户的所有字段,断言数据库中的所有变量是否与我的用户模型 $casts 的类型相同。
是否有任何集成功能已经为我做到了这一点?如果没有,请告诉我如何从头开始。
谢谢。
【问题讨论】:
【参考方案1】:在任何模型上获得 $casts
$user = User::firstOrFail();
$user->getCasts();
/*
* Output might be an array like
[
"id" => "int",
"email_verified_at" => "datetime",
]
*/
但是,如果您在 Model 类上声明 casts 属性,Laravel 将确保正确地进行属性转换 - 请确保根据 $casts 数组转换属性的功能必须已在框架级别进行了彻底测试.
【讨论】:
以上是关于使用模型的 Casts 数组来验证 PHPUnit 上的模型完整性的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 API 中间件在 Laravel 中测试 PHPUnit 一个经过身份验证的用户?
在 Laravel 中使用 Mockery/phpUnit 时出错
如何在 Laravel PHPUnit 测试中获取响应变量?