"Dayle"]); return "All done!"; } 我们可以在 faca" />

模拟 Facades

当测试的时候,你或许常会想要模拟调用 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 方法。

文章导航