Контекстная привязка
$this->app->when(ImportCommand::class)
->needs(Foo::class)
->give(function() {
return new Foo(env('IMPORT_BAR'));
});
Внедрение зависимостей в конструктор класса ImportCommand
Это прекрасно работает:
public function __construct(Foo $foo) {
// Foo with the argument is now injected
}
Для тестирования класса ImportCommand мне нужно смоделировать
Я хочу смоделировать Foo в своем классе тестирования импорта, но это не работает.
$this->mock(Foo::class, function ($mock) {
$mock->shouldReceive([
'login' => true,
'get' => true,
'rename' => true,
]);
});
$this->artisan('foo:bar');
При вызове команды ремесленника вместо макета будет использован класс real Foo.Как я могу это исправить?