微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel测试通知以进行电子邮件验证

如何解决Laravel测试通知以进行电子邮件验证

我正在尝试测试发送验证电子邮件。该API工作正常,并且电子邮件已成功发送,但是问题出在测试中。

我正在模拟通知,并试图断言该通知已发送。

这是我的测试功能

public function a_verification_email_is_sent_upon_registration()
{
    Notification::fake();

    $userData = factory('App\Models\User')->make(['email_verified_at' => null]);
    $this->post(route('api.register'),$userData);

    Notification::assertSentTo(User::latest()->first(),VerifyEmail::class);
}

我得到的错误是:

预期的[Illuminate \ Auth \ Notifications \ VerifyEmail]通知未发送。

一切正常,用户注册成功,并且我测试了Registered事件正在分派并且确实可以。因此,它应该发送通知,因为根据EventServiceProvider.PHP中的此映射,SendEmailVerificationNotification是Registered事件的侦听器。

    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,],];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。