2

每次我尝试测试一个包含存储库的类时,我都会遇到同样的问题:

如果一个 Eloquent 类在执行查询后“水合”受保护的数组关系属性,理论上我可以用模拟集合/结果集填充这个属性,所以在我的测试中我说类似$user->profiles(不带括号的属性)我可以检索我的模拟数据并轻松测试模型。

我的问题是:有没有办法让 Mockery 调用该__call方法而不发出“找不到属性”错误消息?

到目前为止,我实现的唯一方法是将属性直接应用于模拟对象。这种方法的问题在于,如果数据是从存储库中读取的,我无法断言

如果您需要一个示例,我可以更新问题,但我认为我已经很明确了;)

此致

4

1 回答 1

1

我对这一切都很陌生,但我读过您可以使用AspectMock来测试 Eloquent 模型。Jeffery Way 有一个视频解释它是如何完成的。这是在Codeception 上解释 AspectMock 的原始帖子

于 2014-03-14T13:11:25.597 回答