2017-04-06 17 views
3

私はLaravel 5.4のブラウザテストでメールをテストしようとしています。Laravel 5.4(夕暮れ)でメールを嘲笑

私はbrowseコールバック関数内InvitationTestクラスでこのコードを持っている:

\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日午後03時36分:10] local.INFO:メッセージID:<[email protected]>
日の招待XXXX-YYYY-ZZZ-AA-BBは
[2017年4月6日15時36分10秒] local.DEBUGを開始しました:木、201年4月6日午後3時36分10秒0200
件名:Hello Worldの:)

しかしphp artisan duskを実行している私が得た:ブラウザ\ InvitationTest \

1)テスト:: testCreateInvitation
期待[アプリケーション\ Mail \ InvitationMail] mailableが送信されませんでした。
falseがtrueであることをアサートできませんでした。

メールがキューイングされているが、私の.env.dusk.localに私は(ログインすると、メール)と同期するキューを設定している:

QUEUE_DRIVER=sync 
MAIL_DRIVER=log 

だから、すべてがうまくなければなりません。私は何か間違っているのですか?なぜ夕暮れはメールが送られなかったと言いますか?

重要事項:メールはコントローラ経由では直接送信されませんが、遅延ジョブが作成され、このジョブがメールを送信します。遅延ジョブは過去に送信されたため、影響はない可能性があります。クリアするには:コントローラーがジョブをディスパッチした後、このジョブは複数のメールを送信します。

+0

https://hackernoon.com/asserting-jobs-in-queue-with-laravel-dusk-adb03654ca43:しかし、2つの問題は、この問題についての開いています –

答えて

関連する問題