laravel - 如何执行作业:在 phpunit 期间调度
问题描述
在我的内部,我phpunit.xml
已将其设置QUEUE_DRIVER
为 null:
<env name="QUEUE_DRIVER" value="null"/>
不幸的是,作业调度没有被执行。
例如,我有这个虚拟测试:
public function test_dummy()
{
\App\Jobs\DummyJob::dispatch();
dd('DummyJob is not executed');
}
这就是工作:
public function handle()
{
dd('alright');
}
phpunit 返回
DummyJob 未执行
是否可以更改phpunit.xml
以便立即执行作业补丁,就像它与排队的邮件一样?
解决方案
我不得不从QUEUE_DRIVER
更改null
为sync
。
设置QUEUE_DRIVER
为null
将丢弃所有排队的作业。
设置 QUEUE_DRIVER to
sync` 将立即运行排队的作业,因此建议用于测试目的,但不用于生产。
推荐阅读
- java - (Bug) 迭代列表后返回错误值
- java - 如何将变量从 freemaker 模板传递到 xml 文件
- javascript - Ramda,在函数中发送参数
- c# - wpf RichTextBox 中的 Selection.Load() 事件
- python - Create Engine(SQLalchemy) for GCP database in a python script
- ruby - golang 中的语法糖方法,如 Ruby
- javascript - 从 Angular 4 升级到 7 导致问题
- c# - 如何在 C# 中为 Memory Stream 编写单元测试?
- codeigniter - 如何解决 codeigniter 中的“Twig\Error\LoaderError”
- bash - 我如何在 postgresql 中自动创建数据库