每次我尝试测试一个包含存储库的类时,我都会遇到同样的问题:
如果一个 Eloquent 类在执行查询后“水合”受保护的数组关系属性,理论上我可以用模拟集合/结果集填充这个属性,所以在我的测试中我说类似$user->profiles
(不带括号的属性)我可以检索我的模拟数据并轻松测试模型。
我的问题是:有没有办法让 Mockery 调用该__call
方法而不发出“找不到属性”错误消息?
到目前为止,我实现的唯一方法是将属性直接应用于模拟对象。这种方法的问题在于,如果数据是从存储库中读取的,我无法断言
如果您需要一个示例,我可以更新问题,但我认为我已经很明确了;)
此致