如何从 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...
}
我正在尝试测试一些数据是否填充到由作业完成的页面上。在我的测试环境中,队列不是 运行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...
}