如何从 Laravel 中的作业 table 中手动 运行 项目(用于测试)

How to manually run items from the Jobs table in Laravel (for testing)

我正在尝试测试一些数据是否填充到由作业完成的页面上。在我的测试环境中,队列不是 运行ning。

是否有任何方法可以手动 运行 从控制器中的函数执行作业?我通过执行以下操作从我的数据库中检索了所有作业:

$allJobs = Jobs::all();

foreach ($allJobs as $job) {
     // $job->handle(); ????
}

我想要的是遍历每个作业并自己处理它们。我的测试套件可以等待这些作业被处理。我似乎找不到任何关于此的文档。谢谢!

如果目标是能够为您的工作编写测试,那相当简单:

public function testJobsEvents()
{
       $job = new \App\Jobs\YourJob;
       $job->handle();

       // Assert the side effect of your job...
}