首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Laravel测试邮件被延迟发送

Laravel测试邮件被延迟发送
EN

Stack Overflow用户
提问于 2022-09-12 01:14:51
回答 1查看 43关注 0票数 0

是否有可能写一个测试,以确保一封电子邮件的发送有延迟?我能够测试它是否已被推送到队列中,但我希望确保邮件程序中的逻辑发送正确的电子邮件。这就是我所拥有的,assertPushed可以工作,但是assertSent返回一个失败。

这就是我在控制器中运行作业的方式;

代码语言:javascript
代码运行次数:0
运行
复制
ProcessEmailJob::dispatch($this, $user)
    ->delay(now()->addMinutes(10));

这是测试

代码语言:javascript
代码运行次数:0
运行
复制
Queue::fake();
Mail::fake();

// processing here

Queue::assertPushed(ProcessEmailJob::class, function ($job) {
    return ! is_null($job->delay);
});

Mail::assertSent(EmailUserMail::class);
EN

回答 1

Stack Overflow用户

发布于 2022-09-12 01:22:22

在作业处理程序中使用sleep(10 * 60),并从控制器代码中删除延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73683659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档