【发布时间】:2016-11-28 22:03:58
【问题描述】:
测试 Laravel 控制台命令的最佳方法是什么?
这是我正在运行的命令的示例。它在构造函数和句柄方法中接受一个值。
class DoSomething extends Command
{
protected $signature = 'app:do-something';
protected $description = 'Does something';
public function __construct(A $a)
{
...
}
public function handle(B $b)
{
...
}
}
在我的测试课中,我可以同时模拟 A 和 B,但我不知道如何传入 $a。
$this->artisan('app:do-something', [$b]);
有可能吗?还是我要说这一切都错了?我应该把所有的想法都传递给 handle() 方法吗?
谢谢。
【问题讨论】:
-
您希望能够在这种情况下模拟 A $a 吗?不只是通过实际对象?
-
在这种情况下,它是我的记录器,所以我不想传入真实的实例。