我有一个可邮寄类,用于向用户发送电子邮件,效果很好。我想写一些 phpunit 测试来检查邮件是否真的发送了。不幸的是,我在文档中找不到很好的解释。
我的可邮寄课程:
class UserInvite extends Mailable
{
use Queueable, SerializesModels;
public $user;
public $inviteMessage;
/**
* Create a new message instance.
*
* @param User $user
* @param string $inviteMessage
*/
public function __construct(User $user, string $inviteMessage)
{
$this->user = $user;
$this->inviteMessage = $inviteMessage;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.mail');
}
}
测试:
/** @test */
public function it_sends_invite()
{
Mail::fake();
$user = factory(User::class)->create();
$inviteMessage = 'test';
Mail::assertSent(new UserInvite($user, $inviteMessage));
}
错误:
ErrorException: 类 App\Mail\UserInvite 的对象无法转换为字符串
解决方案:
/** @test */
public function it_sends_invite()
{
Mail::fake();
$user = factory(User::class)->create();
Mail::to($user)->send(new UserInvite($user, 'message'));
Mail::assertSent(UserInvite::class);
}
慕码人8056858