我正在运行 Laravel 5.4 并使用 Mail::fake() 和 Mail::assertSent() 测试 Mailables。有 hasTo($email) 和 hasCc($email) 之类的断言,但似乎没有办法访问邮件内容。我想测试电子邮件正文是否包含特定字符串。
伪代码:
Mail::assertSent(UserInvited::class, function($mail) use($token) {
return $mail->bodyContains($token); # that method does not really exist
});
这可能吗?
最佳答案
遇到同样的情况但搜索失败 - 调试后:
Mail::assertSent(InstanceOfMailableEmail::class, function($mail) use ($needle) {
// now your email has properties set
$mail->build();
//check the content body for a string
return strpos($mail->viewData['content'], $needle) !== false;
});
关于php - 使用 Mail::fake 进行 Laravel 5.4 测试 - 如何访问邮件正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41988612/