在测试中调用Assert Laravel命令
我从Laravel命令调用Laravel命令。它可以工作,但我想测试是否调用了子命令A和/或B 以下是简化版本:在测试中调用Assert Laravel命令,laravel,testing,laravel-5,mocking,Laravel,Testing,Laravel 5,Mocking,我从Laravel命令调用Laravel命令。它可以工作,但我想测试是否调用了子命令A和/或B 以下是简化版本: final class HandleActions extends Command { public function handle() { foreach ($items as $item) { if ($item->price * 2.24 > 100) { $this->c
final class HandleActions extends Command
{
public function handle()
{
foreach ($items as $item) {
if ($item->price * 2.24 > 100) {
$this->call('order:reprocess'); // command A
}
if (!$item->stock) {
$this->call('order:cleanup'); // command B
}
}
}
}
我像这样测试这个命令(简化),所以我知道主命令被成功激活
$this->artisan('command')->assertExitCode(0);
// How do I assert command A is fired?
// How do I assert command B is fired?
我想断言子命令1被激发和/或子命令2被激发。但是如何做到这一点呢?您可以从子命令触发一个事件,然后在测试中通过
event::assertDispatched