0
我在Laravel项目中为忘记密码功能创建了一个RESTFUL API。我完成了它。测试事件在Laravel发送电子邮件
但是,我不知道如何建立unittest来测试事件发送电子邮件发生?
我该如何构建它?
我在Laravel项目中为忘记密码功能创建了一个RESTFUL API。我完成了它。测试事件在Laravel发送电子邮件
但是,我不知道如何建立unittest来测试事件发送电子邮件发生?
我该如何构建它?
$mock = Mockery::mock('Swift_Mailer');
$this->app['mailer']->setSwiftMailer($mock);
$mock->shouldReceive('send')->once()
->andReturnUsing(function($msg) {
$this->assertEquals('My subject', $msg->getSubject());
$this->assertEquals('[email protected]', $msg->getTo());
$this->assertContains('Some string', $msg->getBody());
});
你可以看到这一点: Laravel unit testing emails
感谢您的回复。有了这个代码snipset,运行testcase时,它有一个错误:“Mockery \ Exception \ InvalidCountException:来自Mockery_0_Illuminate_Support_Testing_Fakes_MailFake的方法send()应该被调用1次,但被调用0次”。 –
这是一个很好的问题,但如果你可以发布任何代码将得到加强。你通常不会写一个邮件发送单元测试(你希望你的单元测试开始邮件吗?),但验证发送电子邮件的请求正确提出与正确的主体/主题等可能是有用的 –
谢谢@mark_h,是的,我想验证发送电子邮件的请求是否正确提出。我如何编码? –