嘲笑Laravel雄辩模型 - 如何使用Mockery设置公共属性
我想在我的PHPUnit测试中使用模拟对象(Mockery)。模拟对象需要同时设置一些公共方法和一些公共属性。该课程是Laravel Eloquent模型。我试过这个:
$mock = Mockery::mock('User');
$mock->shouldReceive('hasRole')->once()->andReturn(true); //works fine
$mock->roles = 2; //how to do this? currently returns an error
$this->assertTrue(someTest($mock));
...但设置 public 属性会返回以下错误:
BadMethodCallException: Method Mockery_0_User::setAttribute() 在此模拟对象上不存在
此错误在模拟简单类时不返回,但当我尝试模拟 Eloquent 模型时返回。我做错了什么?