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,是的,我想驗證發送電子郵件的請求是否正確提出。我如何編碼? –