Fan*_*Fan 2 email testing queue tdd laravel
我已经完成了按队列发送邮件的代码,并且可以正常工作,并且我想为此编写一个测试(只是想测试应该正常发送而不会按队列失败的邮件,然后再发送给合适的人),但是如何?
Mail::to($user->email)->queue(new Welcome($user));
Run Code Online (Sandbox Code Playgroud)
您将执行以下操作(取决于您的设置):
<?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;
});
}
}
Run Code Online (Sandbox Code Playgroud)