2017-04-06 72 views
3

我試圖在Laravel 5.4的瀏覽器測試中測試郵件。用Laravel 5.4(黃昏)嘲笑郵件

我有這樣的代碼在InvitationTestbrowse回調函數內:

\Mail::fake(); 

$browser->visit('projects') 
    ->press('etc.') 

\Mail::assertSent(InvitationMail::class, function ($mail) use ($project) { 
    return $mail->invitation->project->id == $project->id; 
}); 

我可以看到郵件日誌發送:

[2017年4月6日15:36 :10] local.INFO:邀請xxxx-yyyy-zzz-aa-bb開始
[2017-04-06 15:36:10] local.DEBUG:Message-ID:<[email protected]>
Date :星期四,2017年4月6日15點36分10秒+0200
主題:世界你好:)

但運行php artisan dusk我:

1)測試\瀏覽器\ InvitationTest :: testCreateInvitation
預期[應用程序\ Mail \ InvitationMail] mailable沒有發送。
失敗斷言虛假是真實的。

郵件排隊,但是,在我.env.dusk.local我已經設置隊列同步(和郵件記錄):

QUEUE_DRIVER=sync 
MAIL_DRIVER=log 

所以一切都要被罰款。難道我做錯了什麼?爲什麼黃昏說郵件沒有發送?

重要說明:郵件不是通過控制器直接發送的,但會創建延遲作業,並且該作業將發送郵件。延遲的工作是在過去發送的,因此可能沒有影響。要明確:控制器派遣一個工作,然後這個工作發送多個郵件。

+0

https://hackernoon.com/asserting-jobs-in-queue-with-laravel-dusk-adb03654ca43 –

回答