В частности, у меня есть команда Laravel 5.7, которая получает модель путем внедрения зависимости, код похож на приведенный ниже
//...
class CustomCommand extends Command
{
//...
public function __construct(CustomModel $model)
{
$this->model = $model;
}
// ...
public function handle()
{
$this->model->chunkById(1000, function ($model_chunk) {
$this->classMethod($model_chunk);
});
}
}
Хотя можно использовать решение, подобное следующему коду
$mocked_custom_model = Mockery::mock(CustomModel::class)
->shouldReceive('chunkById')
->once()
->with(1000, Mockery::callable())
->getMock()
Что я хотел бы знать, так это то, возможно ли гарантировать, что classMethod
вызывается замыканием, скажем, например, с использованием частичных насмешек и т. Д. Или, если это невозможно, как я могуПравильно протестируйте этот код (даже если мне придется его реорганизовать).