【发布时间】:2018-03-12 05:12:44
【问题描述】:
根据Laravel Documentation,我可以使用Queue::fake(); 防止作业排队。
尚不清楚如何在未排队时测试 (PHPUnit) 作业类中的一些方法。
例如:
class ActionJob extends Job
{
public $tries = 3;
protected $data;
public function __construct($data)
{
$this->data = $data;
}
public function handle()
{
if ($this->data['action'] == "deleteAllFiles") {
$this->deleteAllFiles();
}
}
protected function deleteAllFiles()
{
//delete all the files then return true
// if failed to delete return false
}
}
这是我要测试的示例deleteAllFiles() - 我需要模拟它吗?
【问题讨论】:
-
你试过
prevar_dump跟die;吗?您可以在删除任何内容之前将其添加到函数 deleteAllFiles() 中。如果你需要一个例子,就说,我写一个。 -
@RonnieOosting 我说的是用 phpunit 做测试。
-
你能告诉我们你是如何从你的控制器(或者你从其他地方调用它的)调用作业的吗?
-
@tptcat 它将从控制器调用。例如:
dispatch(new ActionJob(['action' => 'deleteAllFiles']));
标签: php laravel phpunit mockery laravel-testing