2017-08-19 8 views
1

私は既にキューでメールを送信するコードを完成させました。それは正常に動作しています。 と私はそれをテストしたいと思います(単にメールをテストしたいのですが、そして正しい人に)、どのように?laravel queue mailでユニットテストを書くには?

Mail::to($user->email)->queue(new Welcome($user)); 
+0

をテストするためにMailTrackingを使用しています(ここでは)https://laravel.com/docs/5.4/mockingのドキュメントを見ることができます。 – milo526

答えて

1

あなたはこのような何かをするだろう(あなたのセットアップに応じて):今すぐ

<?php 

namespace Tests\Feature; 

use App\User; 
use App\Mail\Welcome; 
use Illuminate\Support\Facades\Mail; 

class SendInvitationEmailTest extends TestCase 
{ 
    /** @test */ 
    function mails_get_queued() 
    { 
     Mail::fake(); 
     $user = factory(User::class)->create(); 

     $this->post('/route/to/send/the/welcome/mail'); 

     Mail::assertQueued(Welcome::class, 1); 
     Mail::assertQueued(Welcome::class, function ($mail) use ($user) { 
      return $mail->user->id === $user->id; 
     }); 
    } 
} 
関連する問題