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