模拟 Facades
2018-02-24 15:52 更新
当测试的时候,你或许常会想要模拟调用 Laravel 静态 facade
。举个例子,思考下面的控制器行为:
public function getIndex()
{
Event::fire('foo', ['name' => 'Dayle']);
return 'All done!';
}
我们可以在 facade 上使用 shouldReceive 方法,来模拟调用 Event 类,它将会返回一个 Mockery mock 对象实例。
模拟 Facade
public function testGetIndex()
{
Event::shouldReceive('fire')->once()->with('foo', ['name' => 'Dayle']);
$this->call('GET', '/');
}
注意: 你不应该模拟 Request facade。取而代之,当执行你的测试,传递想要的输入数据进去 call 方法。
以上内容是否对您有帮助:
← 从测试调用路由
更多建议: