私は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
だから、すべてがうまくなければなりません。私は何か間違っているのですか?なぜ夕暮れはメールが送られなかったと言いますか?
重要事項:メールはコントローラ経由では直接送信されませんが、遅延ジョブが作成され、このジョブがメールを送信します。遅延ジョブは過去に送信されたため、影響はない可能性があります。クリアするには:コントローラーがジョブをディスパッチした後、このジョブは複数のメールを送信します。
https://hackernoon.com/asserting-jobs-in-queue-with-laravel-dusk-adb03654ca43:しかし、2つの問題は、この問題についての開いています –