模擬 Facades

2018-02-24 15:52 更新

當測試的時候,你或許常會想要模擬調(diào)用 Laravel 靜態(tài) facade。舉個例子,思考下面的控制器行為:

public function getIndex()
{
    Event::fire('foo', ['name' => 'Dayle']);

    return 'All done!';
}

我們可以在 facade 上使用 shouldReceive 方法,來模擬調(diào)用 Event 類,它將會返回一個 Mockery mock 對象實例。
模擬 Facade

public function testGetIndex()
{
    Event::shouldReceive('fire')->once()->with('foo', ['name' => 'Dayle']);

    $this->call('GET', '/');
}

注意: 你不應該模擬 Request facade。取而代之,當執(zhí)行你的測試,傳遞想要的輸入數(shù)據(jù)進去 call 方法。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號